diff --git a/accuracy.txt b/accuracy.txt index 21cc54b..ce13ca8 100644 --- a/accuracy.txt +++ b/accuracy.txt @@ -1149,3 +1149,19 @@ 总图片数:173张, 未识出图片:5张, 定位率:97.1098% 平均字符差距:0.458333个, 完全匹配数:130张, 完全匹配率:77.381% 总时间:207秒, 平均执行时间:1.19653秒 +2015-07-29 08:04:44 +总图片数:56张, 未识出图片:15张, 定位率:73.2143% +平均字符差距:1.92683个, 完全匹配数:16张, 完全匹配率:39.0244% +总时间:143秒, 平均执行时间:2.55357秒 +2015-07-29 08:25:03 +总图片数:56张, 未识出图片:15张, 定位率:73.2143% +平均字符差距:1.78049个, 完全匹配数:16张, 完全匹配率:39.0244% +总时间:119秒, 平均执行时间:2.125秒 +2015-07-29 08:33:29 +总图片数:204张, 未识出图片:6张, 定位率:97.0588% +平均字符差距:0.520202个, 完全匹配数:145张, 完全匹配率:73.2323% +总时间:184秒, 平均执行时间:0.901961秒 +2015-07-29 08:44:36 +总图片数:204张, 未识出图片:6张, 定位率:97.0588% +平均字符差距:0.520202个, 完全匹配数:145张, 完全匹配率:73.2323% +总时间:182秒, 平均执行时间:0.892157秒 diff --git a/resources/image/general_test/宸滱88888.jpg b/resources/image/general_test/宸滱88888.jpg new file mode 100644 index 0000000..373a5df Binary files /dev/null and b/resources/image/general_test/宸滱88888.jpg differ diff --git a/resources/image/general_test/娌狫S6999.jpg b/resources/image/general_test/娌狫S6999.jpg new file mode 100644 index 0000000..f8e8d47 Binary files /dev/null and b/resources/image/general_test/娌狫S6999.jpg differ diff --git a/resources/image/general_test/娌狵T5583.jpg b/resources/image/general_test/娌狵T5583.jpg new file mode 100644 index 0000000..9338f20 Binary files /dev/null and b/resources/image/general_test/娌狵T5583.jpg differ diff --git a/resources/image/general_test/娴橝M690M.jpg b/resources/image/general_test/娴橝M690M.jpg new file mode 100644 index 0000000..9baedf1 Binary files /dev/null and b/resources/image/general_test/娴橝M690M.jpg differ diff --git a/resources/image/general_test/娴橣99999.jpg b/resources/image/general_test/娴橣99999.jpg new file mode 100644 index 0000000..c57838e Binary files /dev/null and b/resources/image/general_test/娴橣99999.jpg differ diff --git a/resources/image/general_test/娴橨P291Q.jpg b/resources/image/general_test/娴橨P291Q.jpg new file mode 100644 index 0000000..1d1b4be Binary files /dev/null and b/resources/image/general_test/娴橨P291Q.jpg differ diff --git a/resources/image/general_test/娴橪D1930.jpg b/resources/image/general_test/娴橪D1930.jpg new file mode 100644 index 0000000..d7815e2 Binary files /dev/null and b/resources/image/general_test/娴橪D1930.jpg differ diff --git a/resources/image/general_test/娓滲3587瀛.jpg b/resources/image/general_test/娓滲3587瀛.jpg new file mode 100644 index 0000000..d5defa1 Binary files /dev/null and b/resources/image/general_test/娓滲3587瀛.jpg differ diff --git a/resources/image/general_test/婀楩8ZS83.JPG b/resources/image/general_test/婀楩8ZS83.JPG new file mode 100644 index 0000000..1c1e7f5 Binary files /dev/null and b/resources/image/general_test/婀楩8ZS83.JPG differ diff --git a/resources/image/general_test/鐨朅30123.jpg b/resources/image/general_test/鐨朅30123.jpg new file mode 100644 index 0000000..e82ed3a Binary files /dev/null and b/resources/image/general_test/鐨朅30123.jpg differ diff --git a/resources/image/general_test/鐨朡15538.jpg b/resources/image/general_test/鐨朡15538.jpg new file mode 100644 index 0000000..212097b Binary files /dev/null and b/resources/image/general_test/鐨朡15538.jpg differ diff --git a/resources/image/general_test/绮2TS00.JPG b/resources/image/general_test/绮2TS00.JPG new file mode 100644 index 0000000..347c737 Binary files /dev/null and b/resources/image/general_test/绮2TS00.JPG differ diff --git a/resources/image/general_test/绮5PJ05.JPG b/resources/image/general_test/绮5PJ05.JPG new file mode 100644 index 0000000..a0a8446 Binary files /dev/null and b/resources/image/general_test/绮5PJ05.JPG differ diff --git a/resources/image/general_test/绮B288Y.JPG b/resources/image/general_test/绮B288Y.JPG new file mode 100644 index 0000000..96c1563 Binary files /dev/null and b/resources/image/general_test/绮B288Y.JPG differ diff --git a/resources/image/general_test/绮F9C00.JPG b/resources/image/general_test/绮F9C00.JPG new file mode 100644 index 0000000..cc71f0c Binary files /dev/null and b/resources/image/general_test/绮F9C00.JPG differ diff --git a/resources/image/general_test/绮K9331 .JPG b/resources/image/general_test/绮K9331 .JPG new file mode 100644 index 0000000..f4e4ef1 Binary files /dev/null and b/resources/image/general_test/绮K9331 .JPG differ diff --git a/resources/image/general_test/绮V0U41 .JPG b/resources/image/general_test/绮V0U41 .JPG new file mode 100644 index 0000000..d4be953 Binary files /dev/null and b/resources/image/general_test/绮V0U41 .JPG differ diff --git a/resources/image/general_test/绮5PQ23.JPG b/resources/image/general_test/绮5PQ23.JPG new file mode 100644 index 0000000..8cbc5e6 Binary files /dev/null and b/resources/image/general_test/绮5PQ23.JPG differ diff --git a/resources/image/general_test/绮5W601.JPG b/resources/image/general_test/绮5W601.JPG new file mode 100644 index 0000000..ed7f168 Binary files /dev/null and b/resources/image/general_test/绮5W601.JPG differ diff --git a/resources/image/general_test/绮9R439.JPG b/resources/image/general_test/绮9R439.JPG new file mode 100644 index 0000000..102d27e Binary files /dev/null and b/resources/image/general_test/绮9R439.JPG differ diff --git a/resources/image/general_test/绮D050L.JPG b/resources/image/general_test/绮D050L.JPG new file mode 100644 index 0000000..d3a6ad3 Binary files /dev/null and b/resources/image/general_test/绮D050L.JPG differ diff --git a/resources/image/general_test/鑻廇75976.jpg b/resources/image/general_test/鑻廇75976.jpg new file mode 100644 index 0000000..8d763d0 Binary files /dev/null and b/resources/image/general_test/鑻廇75976.jpg differ diff --git a/resources/image/general_test/鑻廇85Z95.jpg b/resources/image/general_test/鑻廇85Z95.jpg new file mode 100644 index 0000000..34d8978 Binary files /dev/null and b/resources/image/general_test/鑻廇85Z95.jpg differ diff --git a/resources/image/general_test/鑻廇9YP07.jpg b/resources/image/general_test/鑻廇9YP07.jpg new file mode 100644 index 0000000..399a701 Binary files /dev/null and b/resources/image/general_test/鑻廇9YP07.jpg differ diff --git a/resources/image/general_test/鑻廇DW072.jpg b/resources/image/general_test/鑻廇DW072.jpg new file mode 100644 index 0000000..3175a53 Binary files /dev/null and b/resources/image/general_test/鑻廇DW072.jpg differ diff --git a/resources/image/general_test/鑻廇HOG66.jpg b/resources/image/general_test/鑻廇HOG66.jpg new file mode 100644 index 0000000..25e8e6a Binary files /dev/null and b/resources/image/general_test/鑻廇HOG66.jpg differ diff --git a/resources/image/general_test/鑻廇L926V.jpg b/resources/image/general_test/鑻廇L926V.jpg new file mode 100644 index 0000000..88db4e1 Binary files /dev/null and b/resources/image/general_test/鑻廇L926V.jpg differ diff --git a/resources/image/general_test/鑻廋TF181.jpg b/resources/image/general_test/鑻廋TF181.jpg new file mode 100644 index 0000000..fb269ed Binary files /dev/null and b/resources/image/general_test/鑻廋TF181.jpg differ diff --git a/resources/image/general_test/鑻廍B68W9.jpg b/resources/image/general_test/鑻廍B68W9.jpg new file mode 100644 index 0000000..b61625a Binary files /dev/null and b/resources/image/general_test/鑻廍B68W9.jpg differ diff --git a/resources/image/general_test/闄旳D2N68.jpg b/resources/image/general_test/闄旳D2N68.jpg new file mode 100644 index 0000000..ba9d9e3 Binary files /dev/null and b/resources/image/general_test/闄旳D2N68.jpg differ diff --git a/resources/image/general_test/闄旳E8F80.jpg b/resources/image/general_test/闄旳E8F80.jpg new file mode 100644 index 0000000..6f80ec8 Binary files /dev/null and b/resources/image/general_test/闄旳E8F80.jpg differ diff --git a/src/core/chars_segment.cpp b/src/core/chars_segment.cpp index 0ac9271..6e253bc 100644 --- a/src/core/chars_segment.cpp +++ b/src/core/chars_segment.cpp @@ -71,12 +71,6 @@ Mat CCharsSegment::preprocessChar(Mat in) { return out; } -// implementation of otsu algorithm -// author: onezeros(@yahoo.cn) -// reference: Rafael C. Gonzalez. Digital Image Processing Using MATLAB - -int staticIndex = 0; -int iTag = 0; //! 字符分割与排序 int CCharsSegment::charsSegment(Mat input, vector& resultVec) { @@ -107,13 +101,8 @@ int CCharsSegment::charsSegment(Mat input, vector& resultVec) { int h = input_grey.rows; Mat tmp = input_grey(Rect_(w * 0.1, h * 0.1, w * 0.8, h * 0.8)); int threadHoldV = ThresholdOtsu(tmp); - // utils::imwrite("E:/img_inputgray2.jpg", input_grey); threshold(input_grey, img_threshold, threadHoldV, 255, CV_THRESH_BINARY); - // utils::imwrite("E:/img_threshold.jpg", img_threshold); - - // threshold(input_grey, img_threshold, 5, 255, CV_THRESH_OTSU + - // CV_THRESH_BINARY); } else if (YELLOW == plateType) { // cout << "YELLOW" << endl; @@ -122,21 +111,13 @@ int CCharsSegment::charsSegment(Mat input, vector& resultVec) { int h = input_grey.rows; Mat tmp = input_grey(Rect_(w * 0.1, h * 0.1, w * 0.8, h * 0.8)); int threadHoldV = ThresholdOtsu(tmp); - utils::imwrite("resources/image/tmp/inputgray2.jpg", input_grey); + // utils::imwrite("resources/image/tmp/inputgray2.jpg", input_grey); threshold(input_grey, img_threshold, threadHoldV, 255, CV_THRESH_BINARY_INV); - // threshold(input_grey, img_threshold, 10, 255, CV_THRESH_OTSU + - // CV_THRESH_BINARY_INV); } else if (WHITE == plateType) { // cout << "WHITE" << endl; - /*img_threshold = input_grey.clone(); - int w = input_grey.cols; - int h = input_grey.rows; - Mat tmp = input_grey(Rect(w*0.1, h*0.1, w*0.8, h*0.8)); - int threadHoldV = ThresholdOtsu(tmp); - utils::imwrite("resources/image/tmp/inputgray2.jpg", input_grey);*/ threshold(input_grey, img_threshold, 10, 255, CV_THRESH_OTSU + CV_THRESH_BINARY_INV); @@ -154,7 +135,7 @@ int CCharsSegment::charsSegment(Mat input, vector& resultVec) { if (m_debug) { stringstream ss(stringstream::in | stringstream::out); - ss << "resources/image/tmp/debug_char_threshold" << iTag << ".jpg"; + ss << "resources/image/tmp/debug_char_threshold" << ".jpg"; utils::imwrite(ss.str(), img_threshold); } @@ -166,10 +147,10 @@ int CCharsSegment::charsSegment(Mat input, vector& resultVec) { if (m_debug) { stringstream ss(stringstream::in | stringstream::out); - ss << "resources/image/tmp/debug_char_clearLiuDing" << iTag << ".jpg"; + ss << "resources/image/tmp/debug_char_clearLiuDing" << ".jpg"; utils::imwrite(ss.str(), img_threshold); } - iTag++; + // 在二值化图像中提取轮廓 Mat img_contours; @@ -250,14 +231,13 @@ int CCharsSegment::charsSegment(Mat input, vector& resultVec) { auxRoi = preprocessChar(auxRoi); if (m_debug) { stringstream ss(stringstream::in | stringstream::out); - ss << "resources/image/tmp/debug_char_auxRoi_" << (i + staticIndex) + ss << "resources/image/tmp/debug_char_auxRoi_" << (i) << ".jpg"; utils::imwrite(ss.str(), auxRoi); } resultVec.push_back(auxRoi); } } - staticIndex += newSortedRect.size(); return 0; }