日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)

發布時間:2023/12/1 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 修改完BUG后的程序以及效果
  • 優化思路,增強正確識別率(待驗證)

修改完BUG后的程序以及效果

修改代碼后的測試結果:(利用連通域面積將明顯比本張測試圖的瓶子要小的模板提前去除,減少誤判)
這樣下來,28張測試圖,13個樣本,四張測試圖誤判,這比之前效果好很多了。
代碼:

#pragma region 匹配主程序 //匹配主程序 //獲取瓶子外輪廓的函數 //輸入:原圖灰度圖 canny閾值 輸出:輪廓圖 mask2圖 void get_external_Contours_function(Mat& srcImage, Mat& dstImage,Mat& dstmask, int canny_thred) {//模糊化降噪blur(srcImage, srcImage, Size(5, 5));Mat mask;//大津二值化threshold(srcImage, mask, 100, 255, THRESH_OTSU);//閉操作int Abs_offset = 2;Mat element = getStructuringElement(MORPH_ELLIPSE, Size(Abs_offset * 2 + 1, Abs_offset * 2 + 1), Point(Abs_offset, Abs_offset)); //返回的是內核矩陣morphologyEx(mask, mask, MORPH_CLOSE, element);//孔洞填充Point startpoint = Point(40,40);My_hole_filling(mask, mask, 0, startpoint);//將mask縮小一圈Mat mask2;Mat element_erode = getStructuringElement(MORPH_ELLIPSE, Size(Abs_offset * 2 + 1, Abs_offset * 2 + 1), Point(Abs_offset, Abs_offset)); //返回的是內核矩陣morphologyEx(mask, mask2, MORPH_DILATE, element_erode);dstmask = mask2;//mask2就是我們的掩膜//對二值圖進行canny檢測Canny(srcImage, dstImage, canny_thred, canny_thred * 2, 3);//將在mask2內的所有為白的像素置為黑int height = dstImage.rows;int width = dstImage.cols;for (int j = 0; j < height; j++){for (int i = 0; i < width; i++){if (mask2.at<uchar>(j, i) == 0 && dstImage.at<uchar>(j, i) == 255){dstImage.at<uchar>(j, i) = 0;}}} } //模板2-14的瓶子面積 int pixels_num_criterion[13] = {18144,15836,15504,18623,14913,13383,14950,13192,12677,11718,12413,8002, 8870 }; int pixels_num_sub = 2000; // //將測試圖轉換成與模板圖相匹配的函數 //輸入:測試圖 canny算子閾值 輸出:外輪廓圖 //返回值:該測試圖mask2中的瓶子像素個數 int test_covertTo_Outer_contour(Mat& srcImg, Mat& dstImg, int thred) {//這里我們批量處理Mat mask2;//int thred = 40;//轉換成灰度cvtColor(srcImg, dstImg, COLOR_BGR2GRAY);get_external_Contours_function(dstImg, dstImg, mask2, thred);//觀察連通域個數,同時選出最大的那個連通域,之前對mask2進行反色mask2 = 255 - mask2;Mat lableMat;Mat statsMat;Mat centerMat;int nComp = cv::connectedComponentsWithStats(mask2,lableMat,statsMat,centerMat,8,CV_32S);//找出連通域像素個數最多的那個,然后記錄下像素個數int max_pixels = 0;int max_pixels_label = 0;if (nComp == 1) max_pixels = statsMat.at<int>(1, 4);else{//找到像素點最多的連通域標記vector<int > pixels_nums;//0是背景for (int i = 1; i < nComp; i++){pixels_nums.push_back(statsMat.at<int>(i, 4)); //將連通域面積入vector}//找到最大的值并且返回它在vector的位置,然后還需要+1才是在連通域label中的位置auto maxPosition = max_element(pixels_nums.begin(), pixels_nums.end());max_pixels = *(maxPosition);max_pixels_label = (maxPosition - pixels_nums.begin() + 1);}return max_pixels; } int main() {//改變控制臺字體顏色system("color 02");//******************************************【0】獲取測試文件夾路徑和模板文件夾路徑********************************************************////獲取測試文件夾路徑和模板文件夾路徑cv::String path_test = "D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖/";cv::String path_template = "D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓/";cout << "獲取地址成功" << endl;//******************************************【1】加載模板圖像********************************************************////創建模板vectorvector<Mat>tempMat;//插入模板元素Mat srcImage;std::vector<cv::String> temp_filenames;cv::glob(path_template, temp_filenames); //opencv里面用來讀取指定路徑下文件名的一個很好用的函數for (int i = 0; i < temp_filenames.size(); i++){srcImage = cv::imread(temp_filenames[i], 0);tempMat.push_back(srcImage);cout << temp_filenames[i] << endl;}//獲取模板數目int tempMat_Nums = tempMat.size();//******************************************【2】加載測試圖像********************************************************////創建測試vectorvector<Mat>testMat;//插入測試元素std::vector<cv::String> test_filenames;cv::glob(path_test, test_filenames); //opencv里面用來讀取指定路徑下文件名的一個很好用的函數for (int i = 0; i < test_filenames.size(); i++){srcImage = cv::imread(test_filenames[i]);testMat.push_back(srcImage);//cout << test_filenames[i] << endl;}//獲取測試圖數目int testMat_Nums = testMat.size();//******************************************【3】對每張測試圖進行模板匹配********************************************************//for (int j = 0;j < testMat_Nums;j++){cout << "第" << j << "張測試圖片的測試" << endl;Mat resultMat;Mat CompareMat;Mat dispMat;//將測試圖轉換成與模板圖相匹配的類型int test_mask_pxiels = 0;test_mask_pxiels = test_covertTo_Outer_contour(testMat[j], CompareMat, 40);cout << "test_mask_pxiels" << test_mask_pxiels << endl;int match_method = TM_CCORR_NORMED; //經過試錯發現此參數較好。//用每個模板去匹配測試圖,并且找出每次結果的最佳匹配值,將值存入vector中vector<double>goodval;vector<Point>goodlock;int matchnum = 0;Point matchLoc;vector<int>prepare_template_num;cout << "可能的模板序號" << endl;for (int i = 0;i < 13;i++){if (test_mask_pxiels <= (pixels_num_criterion[i] + pixels_num_sub)){//將符合規則的模板序號導入vector中//數組0號元素對應2號瓶子,以此類推prepare_template_num.push_back(i+2);cout << i+2 << " ";}}cout << endl;for (int x = 0;x < prepare_template_num.size();x++){cout << prepare_template_num[x] << " ";}cout << endl;for (int i = 0;i < tempMat_Nums;i++){//采用模板與目標圖像像素與各自圖像的平均值計算dot product,正值越大匹配度越高,負值越大圖像的區別越大,但如果圖像沒有明顯的特征(即圖像中的像素值與平均值接近)則返回值越接近0;matchTemplate(CompareMat, tempMat[i], resultMat, match_method);//不歸一化,因為不同模板歸一化后的最佳值皆為1,無法比較//normalize(resultMat, resultMat, 0, 1, NORM_MINMAX, -1, Mat()); //歸一化double minVal; double maxVal; Point minLoc; Point maxLoc; //定義最大值最小值以及它們的位置變量minMaxLoc(resultMat, &minVal, &maxVal, &minLoc, &maxLoc, Mat()); //從結果矩陣中找到匹配度最大以及最小的值并且確定其位置//對于方法SQDIFF和SQDIFF_NORMED兩種方法來講,越小的值就有著更高的匹配結果//而其余的方法則是數值越大匹配效果越好if (match_method == TM_SQDIFF || match_method == TM_SQDIFF_NORMED){//將不符合像素數目規則的模板的可能性置1vector<int>::iterator result = find(prepare_template_num.begin(), prepare_template_num.end(), i+2); //查找該模板是否食欲符合規則的模板if (result == prepare_template_num.end()) //沒找到{minVal = 1;}goodlock.push_back(minLoc);goodval.push_back(minVal);}else{//將不符合像素數目規則的模板的可能性置0vector<int>::iterator result = find(prepare_template_num.begin(), prepare_template_num.end(), i+2); //查找該模板是否食欲符合規則的模板if (result == prepare_template_num.end()) //沒找到{maxVal = 0;}goodlock.push_back(maxLoc);goodval.push_back(maxVal);}show_probability(i, maxVal);//cout << i << " " << maxVal << endl;}//找到goodval中最佳的一組if (match_method == TM_SQDIFF || match_method == TM_SQDIFF_NORMED){auto goodPosition = min_element(goodval.begin(), goodval.end());matchnum = distance(begin(goodval), goodPosition);}else{auto goodPosition = max_element(goodval.begin(), goodval.end());matchnum = distance(begin(goodval), goodPosition);}show_text(matchnum, test_filenames[j]);matchLoc = goodlock[matchnum];testMat[j].copyTo(dispMat);//以最佳匹配點為中心繪制與模板相同大小的框rectangle(dispMat, matchLoc, Point(matchLoc.x + tempMat[matchnum].cols, matchLoc.y + tempMat[matchnum].rows), Scalar::all(255), 2, 8, 0);namedWindow("testMat", WINDOW_NORMAL);//WINDOW_NORMAL允許用戶自由伸縮imshow("testMat", dispMat);waitKey(30);}return 0; } #pragma endregion

結果:

獲取地址成功
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\2.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\3.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\4.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\5.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\6.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\7.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\8.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\9.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\A.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\B.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\C.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\D.jpg
D:/opencv_picture_test/視覺項目resize后的圖片夾/模板圖片夾/template外輪廓\E.jpg
第0張測試圖片的測試
test_mask_pxiels14347
可能的模板序號
2 3 4 5 6 7 8 9 10 12
2 3 4 5 6 7 8 9 10 12
推測: 2 0.123901
推測: 3 0.156158
推測: 4 0.150744
推測: 5 0.187313
推測: 6 0.145311
推測: 7 0.195507
推測: 8 0.196251
推測: 9 0.162524
推測: 10 0.216251
推測: 11 0
推測: 12 0.188596
推測: 13 0
推測: 14 0
推測: 10 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\10+波紋.jpg
第1張測試圖片的測試
test_mask_pxiels13617
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.146226
推測: 3 0.154282
推測: 4 0.170318
推測: 5 0.135289
推測: 6 0.147944
推測: 7 0.15646
推測: 8 0.236019
推測: 9 0.215505
推測: 10 0.258656
推測: 11 0.170947
推測: 12 0.200819
推測: 13 0
推測: 14 0
推測: 10 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\10+麻點.jpg
第2張測試圖片的測試
test_mask_pxiels13368
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.135993
推測: 3 0.165682
推測: 4 0.137155
推測: 5 0.165001
推測: 6 0.140285
推測: 7 0.157791
推測: 8 0.183201
推測: 9 0.168241
推測: 10 0.244568
推測: 11 0.202944
推測: 12 0.19839
推測: 13 0
推測: 14 0
推測: 10 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\10+氣泡+瓶口破裂.jpg
第3張測試圖片的測試
test_mask_pxiels14335
可能的模板序號
2 3 4 5 6 7 8 9 10 12
2 3 4 5 6 7 8 9 10 12
推測: 2 0.152579
推測: 3 0.173889
推測: 4 0.176829
推測: 5 0.161792
推測: 6 0.157213
推測: 7 0.157324
推測: 8 0.181057
推測: 9 0.168678
推測: 10 0.999826
推測: 11 0
推測: 12 0.194559
推測: 13 0
推測: 14 0
推測: 10 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\10.jpg
第4張測試圖片的測試
test_mask_pxiels12677
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.147605
推測: 3 0.144232
推測: 4 0.142059
推測: 5 0.134749
推測: 6 0.121717
推測: 7 0.17694
推測: 8 0.176446
推測: 9 0.165368
推測: 10 0.198408
推測: 11 0.181647
推測: 12 0.211815
推測: 13 0
推測: 14 0
推測: 12 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\10_2.jpg
第5張測試圖片的測試
test_mask_pxiels11718
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.14523
推測: 3 0.163475
推測: 4 0.152999
推測: 5 0.141765
推測: 6 0.129466
推測: 7 0.13226
推測: 8 0.176833
推測: 9 0.175101
推測: 10 0.179946
推測: 11 0.999803
推測: 12 0.181169
推測: 13 0
推測: 14 0
推測: 11 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\11.jpg
第6張測試圖片的測試
test_mask_pxiels12413
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.116069
推測: 3 0.13952
推測: 4 0.145787
推測: 5 0.15493
推測: 6 0.109966
推測: 7 0.137925
推測: 8 0.189892
推測: 9 0.128961
推測: 10 0.154989
推測: 11 0.156869
推測: 12 0.999794
推測: 13 0
推測: 14 0
推測: 12 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\12.jpg
第7張測試圖片的測試
test_mask_pxiels8002
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 4 5 6 7 8 9 10 11 12 13 14
推測: 2 0.106183
推測: 3 0.121711
推測: 4 0.107394
推測: 5 0.111871
推測: 6 0.120286
推測: 7 0.127004
推測: 8 0.106887
推測: 9 0.151444
推測: 10 0.121035
推測: 11 0.125367
推測: 12 0.142005
推測: 13 0.999765
推測: 14 0.139114
推測: 13 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\13+炸口.jpg
第8張測試圖片的測試
test_mask_pxiels8870
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 4 5 6 7 8 9 10 11 12 13 14
推測: 2 0.108714
推測: 3 0.129143
推測: 4 0.155743
推測: 5 0.155155
推測: 6 0.119927
推測: 7 0.145495
推測: 8 0.180172
推測: 9 0.179382
推測: 10 0.158717
推測: 11 0.18485
推測: 12 0.198007
推測: 13 0.166223
推測: 14 0.999819
推測: 14 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\14.jpg
第9張測試圖片的測試
test_mask_pxiels18144
可能的模板序號
2 5
2 5
推測: 2 0.999781
推測: 3 0
推測: 4 0
推測: 5 0.144677
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 2 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\2+料紋.jpg
第10張測試圖片的測試
test_mask_pxiels16658
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.133496
推測: 3 0.999796
推測: 4 0.134315
推測: 5 0.156003
推測: 6 0.147757
推測: 7 0
推測: 8 0.154767
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 3 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\3.jpg
第11張測試圖片的測試
test_mask_pxiels15836
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.133188
推測: 3 0.208995
推測: 4 0.138319
推測: 5 0.14704
推測: 6 0.142752
推測: 7 0
推測: 8 0.161025
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 3 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\3_2.jpg
第12張測試圖片的測試
test_mask_pxiels17636
可能的模板序號
2 3 5
2 3 5
推測: 2 0.143928
推測: 3 0.134388
推測: 4 0
推測: 5 0.157441
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\4+厚底.jpg
第13張測試圖片的測試
test_mask_pxiels16468
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.170317
推測: 3 0.13123
推測: 4 0.283525
推測: 5 0.153677
推測: 6 0.226632
推測: 7 0
推測: 8 0.186912
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 4 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\4+厚底2.jpg
第14張測試圖片的測試
test_mask_pxiels15504
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.130616
推測: 3 0.16463
推測: 4 0.177138
推測: 5 0.145669
推測: 6 0.19108
推測: 7 0
推測: 8 0.157038
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 6 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\4+炸肩.jpg
第15張測試圖片的測試
test_mask_pxiels19443
可能的模板序號
2 5
2 5
推測: 2 0.137516
推測: 3 0
推測: 4 0
推測: 5 0.999832
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\5+脖夾料.jpg
第16張測試圖片的測試
test_mask_pxiels18623
可能的模板序號
2 5
2 5
推測: 2 0.139779
推測: 3 0
推測: 4 0
推測: 5 0.17853
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\5+肩薄.jpg
第17張測試圖片的測試
test_mask_pxiels19209
可能的模板序號
2 5
2 5
推測: 2 0.139443
推測: 3 0
推測: 4 0
推測: 5 0.187202
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\5+氣泡.jpg
第18張測試圖片的測試
test_mask_pxiels20063
可能的模板序號
2 5
2 5
推測: 2 0.14445
推測: 3 0
推測: 4 0
推測: 5 0.231063
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\5+炸口.jpg
第19張測試圖片的測試
test_mask_pxiels19552
可能的模板序號
2 5
2 5
推測: 2 0.143492
推測: 3 0
推測: 4 0
推測: 5 0.220859
推測: 6 0
推測: 7 0
推測: 8 0
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 5 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\5+皺紋氣泡.jpg
第20張測試圖片的測試
test_mask_pxiels14913
可能的模板序號
2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
推測: 2 0.116033
推測: 3 0.121852
推測: 4 0.233253
推測: 5 0.134713
推測: 6 0.281223
推測: 7 0.138854
推測: 8 0.127367
推測: 9 0.139431
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 6 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\6.jpg
第21張測試圖片的測試
test_mask_pxiels15616
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.125211
推測: 3 0.138032
推測: 4 0.17826
推測: 5 0.150319
推測: 6 0.999773
推測: 7 0
推測: 8 0.122557
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 6 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\6_2.jpg
第22張測試圖片的測試
test_mask_pxiels15653
可能的模板序號
2 3 4 5 6 8
2 3 4 5 6 8
推測: 2 0.12
推測: 3 0.144833
推測: 4 0.161208
推測: 5 0.134843
推測: 6 0.287775
推測: 7 0
推測: 8 0.132088
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 6 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\6_3.jpg
第23張測試圖片的測試
test_mask_pxiels15158
可能的模板序號
2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
推測: 2 0.148487
推測: 3 0.140199
推測: 4 0.178806
推測: 5 0.156645
推測: 6 0.154185
推測: 7 0.999805
推測: 8 0.139173
推測: 9 0.185976
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 7 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\7+厚底.jpg
第24張測試圖片的測試
test_mask_pxiels13383
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.128894
推測: 3 0.141077
推測: 4 0.164418
推測: 5 0.164935
推測: 6 0.174865
推測: 7 0.235266
推測: 8 0.133497
推測: 9 0.240758
推測: 10 0.201196
推測: 11 0.208232
推測: 12 0.15844
推測: 13 0
推測: 14 0
推測: 9 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\7+厚底2.jpg
第25張測試圖片的測試
test_mask_pxiels14950
可能的模板序號
2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
推測: 2 0.101819
推測: 3 0.129199
推測: 4 0.117485
推測: 5 0.143024
推測: 6 0.119083
推測: 7 0.13419
推測: 8 0.999812
推測: 9 0.16494
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 8 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\8.jpg
第26張測試圖片的測試
test_mask_pxiels15271
可能的模板序號
2 3 4 5 6 7 8
2 3 4 5 6 7 8
推測: 2 0.13404
推測: 3 0.116104
推測: 4 0.150828
推測: 5 0.137656
推測: 6 0.155449
推測: 7 0.145615
推測: 8 0.28041
推測: 9 0
推測: 10 0
推測: 11 0
推測: 12 0
推測: 13 0
推測: 14 0
推測: 8 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\8_2.jpg
第27張測試圖片的測試
test_mask_pxiels13192
可能的模板序號
2 3 4 5 6 7 8 9 10 11 12
2 3 4 5 6 7 8 9 10 11 12
推測: 2 0.124749
推測: 3 0.16525
推測: 4 0.114765
推測: 5 0.15284
推測: 6 0.124658
推測: 7 0.154759
推測: 8 0.159853
推測: 9 0.999833
推測: 10 0.151396
推測: 11 0.194999
推測: 12 0.15805
推測: 13 0
推測: 14 0
推測: 9 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/測試圖\9.jpg

優化思路,增強正確識別率(待驗證)

優化思路1:延續之前的限制方法,想出其他的一些特征變量,先排除出顯然與本張測試圖不符合的模板,再用備選模板去匹配。
我們以及用到的變量:瓶子像素個數
暫時想到的其他可以用的變量:

輪廓(連通域)的面積、周長、矩形度、圓形度、寬長比、周徑比等形狀描述符
由于暫時的代碼沒有使用輪廓,只要在canny之后加上find輪廓函數就可以了

優化思路2:拍攝瓶子其他角度的照片,進行同樣的操作,然后將所有角度的照片的相似度相加,選取相似度最大的為最終瓶子序號

總結

以上是生活随笔為你收集整理的【视觉项目】【day5】8.25号实验记录(修完BUG,28张测试图,13个样本,四张测试图误判,这比之前效果好很多了)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。