【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)
目錄
- 均衡化代碼
- 模板圖片按照大小排序
- 總代碼
- 測試效果
- 新思路
由于模板匹配是像素之間的比對,所以不同光照下的像素灰度值也會不同
所以在比對之前,我們需要對測試圖和模板圖進行直方圖均衡化,這一步可以先實現。
今天將采用批量處理的方式,來檢測模板匹配的準確度。
這里發現,最好還是先對所有測試圖均衡化再截取模板。
因為測試圖和模板圖分開來均衡化是不合理的。
equalizeHist( src, dst );
該函數只支持單通道的均衡化,對于彩色圖像來說可以先將多通道分離成單通道,再合并成多通道。
均衡化代碼
for (int i = 0; i < filenames.size(); i++) {srcImg = cv::imread(filenames[i]);//*************************對圖片的處理部分***************************///這里我們對原圖進行直方圖均衡化vector<Mat> channels;//定義存儲的容器split(srcImg,channels);Mat bluechannel = channels[0];//b通道的圖像equalizeHist(bluechannel, bluechannel);//均衡化Mat greenchannel = channels[1];//g通道的圖像equalizeHist(greenchannel, greenchannel);Mat redchannel = channels[2];//r通道的圖像equalizeHist(redchannel, redchannel);merge(channels, dstImg);//合并通道//********************************************************************/savedfilename = dest + filenames[i].substr(len);std::cout << savedfilename << std::endl;cv::imwrite(savedfilename, dstImg);cout << "第" << i << "張完成" << endl;waitKey(30); }模板圖片按照大小排序
將模板圖按照像素大小,從大到小排序。防止出現測試圖局部地區誤判成像素較少的模板(這是因為發現誤判的情況還挺多的)
結果:沒有卵用。。。
總代碼
#include <opencv2/opencv.hpp> #include "opencv2/features2d.hpp" #include <vector> #include <algorithm> #include <iostream> #include "windows.h" #include <stdio.h> #include <time.h> #include <math.h> #include <fstream> #define WINDOW_NAME "【程序窗口】" using namespace cv; using namespace std;//展示推測結果與實際值 void show_text(int nums, String real_name) {if (nums == 0){cout << "推測:大棕瓶 "<<" "<< real_name << endl;}else if (nums == 1){cout << "推測:BAL" << " " << real_name << endl;}else if (nums == 2){cout << "推測:方底圓肩 " << " " << real_name << endl;}else if (nums == 3){cout << "推測:長條 " << " " << real_name << endl;}else if (nums == 4){cout << "推測:圓肩" << " " << real_name << endl;}else if(nums == 5){cout << "推測:桶肩" << " " << real_name << endl;}else if (nums == 6){cout << "推測:多面肩" << " " << real_name << endl;}else if (nums == 7){cout << "推測:方方" << " " << real_name << endl;}else if (nums == 8){cout << "推測:小長條" << " " << real_name << endl;}else if (nums == 9){cout << "推測:小桶肩" << " " << real_name << endl;}else if (nums == 10){cout << "推測:小方肩" << " " << real_name << endl;}else if (nums ==11){cout << "推測:葡萄形" << " " << real_name << endl;}else if (nums == 12){cout << "推測:小小長條" << " " << real_name << endl;}else {cout << "推測:無" << " " << real_name << endl;} } //展示每個模板與測試圖最佳匹配的可能性 void show_probability(int nums, double probability) {if (nums == 0){cout << "大棕瓶的概率 " << " " << probability << endl;}else if (nums == 1){cout << "BAL的概率" << " " << probability << endl;}else if (nums == 2){cout << "方底圓肩的概率 " << " " << probability << endl;}else if (nums == 3){cout << "長條的概率 " << " " << probability << endl;}else if (nums == 4){cout << "圓肩的概率" << " " << probability << endl;}else if (nums == 5){cout << "桶肩的概率" << " " << probability << endl;}else if (nums == 6){cout << "多面肩的概率" << " " << probability << endl;}else if (nums == 7){cout << "方方的概率" << " " << probability << endl;}else if (nums == 8){cout << "小長條的概率" << " " << probability << endl;}else if (nums == 9){cout << "小桶肩的概率" << " " << probability << endl;}else if (nums == 10){cout << "小方肩的概率" << " " << probability << endl;}else if (nums == 11){cout << "葡萄形的概率" << " " << probability << endl;}else if (nums == 12){cout << "小小長條的概率" << " " << probability << endl;}else{cout << "無的概率" << " " << probability << endl;} } //主程序 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]);tempMat.push_back(srcImage);}//獲取模板數目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);}//獲取測試圖數目int testMat_Nums = testMat.size();//******************************************【3】對每張測試圖進行模板匹配********************************************************//for (int j = 0;j < testMat_Nums;j++){cout <<"第"<< j <<"張測試圖片的測試"<< endl;Mat resultMat;Mat dispMat;int match_method = TM_CCORR_NORMED; //經過試錯發現此參數較好。//用每個模板去匹配測試圖,并且找出每次結果的最佳匹配值,將值存入vector中vector<double>goodval;vector<Point>goodlock;int matchnum = 0;Point matchLoc;for (int i = 0;i < tempMat_Nums;i++){//采用模板與目標圖像像素與各自圖像的平均值計算dot product,正值越大匹配度越高,負值越大圖像的區別越大,但如果圖像沒有明顯的特征(即圖像中的像素值與平均值接近)則返回值越接近0;matchTemplate(testMat[j], 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){goodlock.push_back(minLoc);goodval.push_back(minVal);}else{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(0), 2, 8, 0);namedWindow("testMat", WINDOW_NORMAL);//WINDOW_NORMAL允許用戶自由伸縮imshow("testMat", dispMat);waitKey(30);}return 0; }測試效果
獲取地址成功
第0張測試圖片的測試
大棕瓶的概率 0.999962
BAL的概率 0.943395
方底圓肩的概率 0.65766
長條的概率 0.963785
圓肩的概率 0.962278
桶肩的概率 0.975272
多面肩的概率 0.960634
方方的概率 0.960171
小長條的概率 0.972566
小桶肩的概率 0.974289
小方肩的概率 0.974025
葡萄形的概率 0.981708
小小長條的概率 0.960757
推測:大棕瓶 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\BAL.jpg
第1張測試圖片的測試
大棕瓶的概率 0.973387
BAL的概率 0.952295
方底圓肩的概率 0.617728
長條的概率 0.971874
圓肩的概率 0.978067
桶肩的概率 0.977255
多面肩的概率 0.961869
方方的概率 0.968212
小長條的概率 0.977279
小桶肩的概率 0.98047
小方肩的概率 0.972961
葡萄形的概率 0.983062
小小長條的概率 0.961548
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\BAL2.jpg
第2張測試圖片的測試
大棕瓶的概率 0.94555
BAL的概率 0.999969
方底圓肩的概率 0.642374
長條的概率 0.95283
圓肩的概率 0.957193
桶肩的概率 0.959961
多面肩的概率 0.961516
方方的概率 0.947994
小長條的概率 0.968302
小桶肩的概率 0.96168
小方肩的概率 0.959112
葡萄形的概率 0.975743
小小長條的概率 0.946948
推測:BAL D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\長條.jpg
第3張測試圖片的測試
大棕瓶的概率 0.949414
BAL的概率 0.969877
方底圓肩的概率 0.673656
長條的概率 0.954585
圓肩的概率 0.960936
桶肩的概率 0.959291
多面肩的概率 0.957988
方方的概率 0.951915
小長條的概率 0.973501
小桶肩的概率 0.960723
小方肩的概率 0.956964
葡萄形的概率 0.978376
小小長條的概率 0.948134
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\長條2.jpg
第4張測試圖片的測試
大棕瓶的概率 0.958116
BAL的概率 0.954966
方底圓肩的概率 0.999696
長條的概率 0.96763
圓肩的概率 0.972593
桶肩的概率 0.966389
多面肩的概率 0.956725
方方的概率 0.965674
小長條的概率 0.970264
小桶肩的概率 0.972091
小方肩的概率 0.969356
葡萄形的概率 0.975405
小小長條的概率 0.961994
推測:方底圓肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\大棕瓶.jpg
第5張測試圖片的測試
大棕瓶的概率 0.960543
BAL的概率 0.943379
方底圓肩的概率 0.63105
長條的概率 0.999968
圓肩的概率 0.976092
桶肩的概率 0.978699
多面肩的概率 0.962947
方方的概率 0.97815
小長條的概率 0.970794
小桶肩的概率 0.982023
小方肩的概率 0.976902
葡萄形的概率 0.981179
小小長條的概率 0.972171
推測:長條 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\多面肩+厚底.jpg
第6張測試圖片的測試
大棕瓶的概率 0.961845
BAL的概率 0.938932
方底圓肩的概率 0.631991
長條的概率 0.98343
圓肩的概率 0.977328
桶肩的概率 0.976888
多面肩的概率 0.964427
方方的概率 0.980922
小長條的概率 0.973677
小桶肩的概率 0.981396
小方肩的概率 0.975346
葡萄形的概率 0.981092
小小長條的概率 0.974295
推測:長條 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\多面肩+厚底2.jpg
第7張測試圖片的測試
大棕瓶的概率 0.969404
BAL的概率 0.961238
方底圓肩的概率 0.656272
長條的概率 0.984213
圓肩的概率 0.99995
桶肩的概率 0.979073
多面肩的概率 0.965727
方方的概率 0.981193
小長條的概率 0.980419
小桶肩的概率 0.985429
小方肩的概率 0.979214
葡萄形的概率 0.983438
小小長條的概率 0.971944
推測:圓肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方底圓肩+料紋.jpg
第8張測試圖片的測試
大棕瓶的概率 0.952006
BAL的概率 0.939826
方底圓肩的概率 0.649975
長條的概率 0.958495
圓肩的概率 0.951616
桶肩的概率 0.999959
多面肩的概率 0.958412
方方的概率 0.955174
小長條的概率 0.967092
小桶肩的概率 0.967042
小方肩的概率 0.967212
葡萄形的概率 0.981166
小小長條的概率 0.958081
推測:桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方方.jpg
第9張測試圖片的測試
大棕瓶的概率 0.956575
BAL的概率 0.959194
方底圓肩的概率 0.692909
長條的概率 0.970126
圓肩的概率 0.969639
桶肩的概率 0.969893
多面肩的概率 0.960757
方方的概率 0.966829
小長條的概率 0.969455
小桶肩的概率 0.977891
小方肩的概率 0.970097
葡萄形的概率 0.979115
小小長條的概率 0.960115
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方肩+脖夾料.jpg
第10張測試圖片的測試
大棕瓶的概率 0.95998
BAL的概率 0.942382
方底圓肩的概率 0.690289
長條的概率 0.975686
圓肩的概率 0.967611
桶肩的概率 0.974151
多面肩的概率 0.959056
方方的概率 0.975163
小長條的概率 0.96586
小桶肩的概率 0.979523
小方肩的概率 0.975867
葡萄形的概率 0.979395
小小長條的概率 0.970433
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方肩+肩薄.jpg
第11張測試圖片的測試
大棕瓶的概率 0.960138
BAL的概率 0.943141
方底圓肩的概率 0.669811
長條的概率 0.974814
圓肩的概率 0.971561
桶肩的概率 0.973398
多面肩的概率 0.958736
方方的概率 0.973076
小長條的概率 0.968558
小桶肩的概率 0.97769
小方肩的概率 0.974977
葡萄形的概率 0.977497
小小長條的概率 0.972664
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方肩+氣泡.jpg
第12張測試圖片的測試
大棕瓶的概率 0.967062
BAL的概率 0.956114
方底圓肩的概率 0.661852
長條的概率 0.981427
圓肩的概率 0.982139
桶肩的概率 0.977037
多面肩的概率 0.962865
方方的概率 0.977431
小長條的概率 0.975442
小桶肩的概率 0.982172
小方肩的概率 0.979168
葡萄形的概率 0.982967
小小長條的概率 0.973642
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方肩+炸口.jpg
第13張測試圖片的測試
大棕瓶的概率 0.96134
BAL的概率 0.941148
方底圓肩的概率 0.68
長條的概率 0.976162
圓肩的概率 0.969729
桶肩的概率 0.974416
多面肩的概率 0.959259
方方的概率 0.975174
小長條的概率 0.971821
小桶肩的概率 0.981986
小方肩的概率 0.976689
葡萄形的概率 0.97979
小小長條的概率 0.972547
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\方肩+皺紋氣泡.jpg
第14張測試圖片的測試
大棕瓶的概率 0.917715
BAL的概率 0.917199
方底圓肩的概率 0.640063
長條的概率 0.93437
圓肩的概率 0.932135
桶肩的概率 0.937066
多面肩的概率 0.999966
方方的概率 0.926692
小長條的概率 0.937533
小桶肩的概率 0.948577
小方肩的概率 0.944384
葡萄形的概率 0.965162
小小長條的概率 0.926824
推測:多面肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\葡萄形+炸口.jpg
第15張測試圖片的測試
大棕瓶的概率 0.962036
BAL的概率 0.951763
方底圓肩的概率 0.675355
長條的概率 0.981105
圓肩的概率 0.973268
桶肩的概率 0.97733
多面肩的概率 0.962335
方方的概率 0.999961
小長條的概率 0.972872
小桶肩的概率 0.982297
小方肩的概率 0.977359
葡萄形的概率 0.982195
小小長條的概率 0.974128
推測:方方 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\桶肩+厚底.jpg
第16張測試圖片的測試
大棕瓶的概率 0.96481
BAL的概率 0.947198
方底圓肩的概率 0.619446
長條的概率 0.98145
圓肩的概率 0.975495
桶肩的概率 0.976903
多面肩的概率 0.962956
方方的概率 0.979712
小長條的概率 0.97258
小桶肩的概率 0.983755
小方肩的概率 0.979232
葡萄形的概率 0.982808
小小長條的概率 0.971943
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\桶肩+厚底2.jpg
第17張測試圖片的測試
大棕瓶的概率 0.946633
BAL的概率 0.956102
方底圓肩的概率 0.67591
長條的概率 0.968554
圓肩的概率 0.963828
桶肩的概率 0.970033
多面肩的概率 0.957061
方方的概率 0.965562
小長條的概率 0.966357
小桶肩的概率 0.976913
小方肩的概率 0.973826
葡萄形的概率 0.977784
小小長條的概率 0.962248
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\桶肩+炸肩.jpg
第18張測試圖片的測試
大棕瓶的概率 0.957856
BAL的概率 0.954098
方底圓肩的概率 0.633056
長條的概率 0.966456
圓肩的概率 0.974416
桶肩的概率 0.971957
多面肩的概率 0.962382
方方的概率 0.961484
小長條的概率 0.999968
小桶肩的概率 0.970656
小方肩的概率 0.96648
葡萄形的概率 0.98605
小小長條的概率 0.953888
推測:小長條 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小長條.jpg
第19張測試圖片的測試
大棕瓶的概率 0.941413
BAL的概率 0.933865
方底圓肩的概率 0.66242
長條的概率 0.952895
圓肩的概率 0.953722
桶肩的概率 0.950594
多面肩的概率 0.94644
方方的概率 0.950529
小長條的概率 0.950805
小桶肩的概率 0.959539
小方肩的概率 0.955079
葡萄形的概率 0.959137
小小長條的概率 0.942895
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小方肩+波紋.jpg
第20張測試圖片的測試
大棕瓶的概率 0.947933
BAL的概率 0.958943
方底圓肩的概率 0.694464
長條的概率 0.961204
圓肩的概率 0.968265
桶肩的概率 0.96511
多面肩的概率 0.954596
方方的概率 0.958223
小長條的概率 0.968379
小桶肩的概率 0.973762
小方肩的概率 0.965491
葡萄形的概率 0.975843
小小長條的概率 0.945753
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小方肩+麻點.jpg
第21張測試圖片的測試
大棕瓶的概率 0.942297
BAL的概率 0.919454
方底圓肩的概率 0.64704
長條的概率 0.960287
圓肩的概率 0.947416
桶肩的概率 0.963062
多面肩的概率 0.960944
方方的概率 0.951865
小長條的概率 0.950327
小桶肩的概率 0.982785
小方肩的概率 0.974504
葡萄形的概率 0.977247
小小長條的概率 0.953313
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小方肩+氣泡+瓶口破裂.jpg
第22張測試圖片的測試
大棕瓶的概率 0.951699
BAL的概率 0.933098
方底圓肩的概率 0.643337
長條的概率 0.967801
圓肩的概率 0.963715
桶肩的概率 0.962655
多面肩的概率 0.945825
方方的概率 0.96187
小長條的概率 0.959702
小桶肩的概率 0.973458
小方肩的概率 0.967692
葡萄形的概率 0.9665
小小長條的概率 0.95645
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小方肩.jpg
第23張測試圖片的測試
大棕瓶的概率 0.953089
BAL的概率 0.949544
方底圓肩的概率 0.68363
長條的概率 0.968875
圓肩的概率 0.969542
桶肩的概率 0.968538
多面肩的概率 0.962623
方方的概率 0.964773
小長條的概率 0.966892
小桶肩的概率 0.999974
小方肩的概率 0.976818
葡萄形的概率 0.982622
小小長條的概率 0.959715
推測:小桶肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小方肩2.jpg
第24張測試圖片的測試
大棕瓶的概率 0.947293
BAL的概率 0.927502
方底圓肩的概率 0.66462
長條的概率 0.962269
圓肩的概率 0.94927
桶肩的概率 0.964459
多面肩的概率 0.964288
方方的概率 0.952055
小長條的概率 0.951706
小桶肩的概率 0.980446
小方肩的概率 0.999955
葡萄形的概率 0.982902
小小長條的概率 0.959555
推測:小方肩 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小桶肩.jpg
第25張測試圖片的測試
大棕瓶的概率 0.940802
BAL的概率 0.936727
方底圓肩的概率 0.634877
長條的概率 0.954007
圓肩的概率 0.947447
桶肩的概率 0.959983
多面肩的概率 0.961293
方方的概率 0.943803
小長條的概率 0.958485
小桶肩的概率 0.965919
小方肩的概率 0.963006
葡萄形的概率 0.999962
小小長條的概率 0.946233
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\小小長條.jpg
第26張測試圖片的測試
大棕瓶的概率 0.956958
BAL的概率 0.943956
方底圓肩的概率 0.669834
長條的概率 0.972216
圓肩的概率 0.962061
桶肩的概率 0.97626
多面肩的概率 0.965706
方方的概率 0.966615
小長條的概率 0.967341
小桶肩的概率 0.978036
小方肩的概率 0.977363
葡萄形的概率 0.983658
小小長條的概率 0.99997
推測:小小長條 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\圓肩.jpg
第27張測試圖片的測試
大棕瓶的概率 0.964145
BAL的概率 0.948216
方底圓肩的概率 0.63238
長條的概率 0.977482
圓肩的概率 0.975546
桶肩的概率 0.976313
多面肩的概率 0.965695
方方的概率 0.974125
小長條的概率 0.972994
小桶肩的概率 0.981001
小方肩的概率 0.980286
葡萄形的概率 0.983809
小小長條的概率 0.981659
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\圓肩2.jpg
第28張測試圖片的測試
大棕瓶的概率 0.962539
BAL的概率 0.949511
方底圓肩的概率 0.642578
長條的概率 0.977668
圓肩的概率 0.970616
桶肩的概率 0.97624
多面肩的概率 0.966701
方方的概率 0.975969
小長條的概率 0.971972
小桶肩的概率 0.980677
小方肩的概率 0.978517
葡萄形的概率 0.983187
小小長條的概率 0.979566
推測:葡萄形 D:/opencv_picture_test/視覺項目resize后的圖片夾/測試圖片夾/均衡化后的測試圖\圓肩3.jpg
新思路
老師說可以考慮一下工業攝像頭或者使用基于邊緣的ncc模板匹配。
總結
以上是生活随笔為你收集整理的【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信最多转账多少钱啊?
- 下一篇: 绿翡翠手镯多少钱啊?