当前位置: 首页 > news >正文

常州网站建设公司推荐情女照片做杯子网站

常州网站建设公司推荐,情女照片做杯子网站,辽宁城市建设职业技术学院教务网站,有赞短链接生成目录【day1】8.20号实验记录#xff08;初步使用模板匹配#xff09;模板匹配单张图的代码利用多个模板去匹配多张图的代码写代码过程中遇到的问题【day1】8.20号实验记录#xff08;初步使用模板匹配#xff09; 模板匹配 利用模板匹配可以框定出瓶子#xff0c;但是却… 目录【day1】8.20号实验记录初步使用模板匹配模板匹配单张图的代码利用多个模板去匹配多张图的代码写代码过程中遇到的问题【day1】8.20号实验记录初步使用模板匹配 模板匹配 利用模板匹配可以框定出瓶子但是却不能分辨哪种瓶子是哪种瓶子。 对同一张图片用不同的模板去进行匹配选择匹配度最高的作为最终的结果。 而且这种匹配受到模板大小的限制。若是摄像头固定视角固定那这个问题可以解决。 单张图的代码 #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 #define WINDOW_NAME 【程序窗口】 using namespace cv; using namespace std; int main() {//改变控制台字体颜色system(color 02);Mat srcImageimread(D:\\opencv_picture_test\\视觉项目\\圆1.png); //测试图Mat tempMat imread(D:\\opencv_picture_test\\视觉项目\\方template.png); //模板图//Mat srcImageimread(D:\\opencv_picture_test\\img.png); //测试图//Mat tempMat imread(D:\\opencv_picture_test\\template.png); //模板图cout tempMat.cols endl;cout tempMat.rows endl;Mat refMat;Mat resultMat;Mat dispMat;tempMat.copyTo(refMat);int match_method TM_CCOEFF_NORMED;//采用模板与目标图像像素与各自图像的平均值计算dot product正值越大匹配度越高负值越大图像的区别越大但如果图像没有明显的特征即图像中的像素值与平均值接近则返回值越接近0matchTemplate(srcImage, refMat, resultMat, match_method);normalize(resultMat, resultMat, 0, 1, NORM_MINMAX, -1, Mat()); //归一化double minVal; double maxVal; Point minLoc; Point maxLoc; Point matchLoc; //定义最大值最小值以及它们的位置变量minMaxLoc(resultMat, minVal, maxVal, minLoc, maxLoc, Mat()); //从结果矩阵中找到匹配度最大以及最小的值并且确定其位置//对于方法SQDIFF和SQDIFF_NORMED两种方法来讲越小的值就有着更高的匹配结果//而其余的方法则是数值越大匹配效果越好if (match_method TM_SQDIFF || match_method TM_SQDIFF_NORMED)matchLoc minLoc;elsematchLoc maxLoc;srcImage.copyTo(dispMat);//circle(dispMat, matchLoc, 5, Scalar(0, 0, 255), 2, 8, 0);//以最佳匹配点为中心绘制与模板相同大小的框rectangle(dispMat, matchLoc, Point(matchLoc.x refMat.cols, matchLoc.y refMat.rows), Scalar::all(0), 2, 8, 0);namedWindow(template, WINDOW_NORMAL);//WINDOW_NORMAL允许用户自由伸缩imshow(template, refMat);namedWindow(srcImage, WINDOW_NORMAL);//WINDOW_NORMAL允许用户自由伸缩imshow(srcImage, dispMat);waitKey(0);return 0; }利用多个模板去匹配多张图的代码 写代码过程中遇到的问题 1、要理解好result矩阵的含义 2、match_method 要多试几种 3、不同模板对同一张测试图匹配后得到的result数组中不需要对其归一化不然会发现每个模板的最佳值都是1使用TM_CCORR_NORMED时这样就比较不了了。 #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 #define WINDOW_NAME 【程序窗口】 using namespace cv; using namespace std;void show_text(int nums) {if (nums 0){cout 方 endl;}else if (nums 1){cout v圆 endl;}else if (nums 2){cout 圆 endl;}else if (nums 3){cout 小 endl;}else if (nums 4){cout 中 endl;}else{cout 无 endl;} } int main() {//改变控制台字体颜色system(color 02);//创建模板vectorvectorMattempMat;//插入模板元素Mat temp imread(D:\\opencv_picture_test\\视觉项目\\方template.png);tempMat.push_back(temp);temp imread(D:\\opencv_picture_test\\视觉项目\\v圆template.png);tempMat.push_back(temp);temp imread(D:\\opencv_picture_test\\视觉项目\\圆template.png);tempMat.push_back(temp);temp imread(D:\\opencv_picture_test\\视觉项目\\小template.png);tempMat.push_back(temp);temp imread(D:\\opencv_picture_test\\视觉项目\\中template.png);tempMat.push_back(temp);Mat tempMat1 tempMat[0];Mat tempMat2 tempMat[1];Mat tempMat3 tempMat[2];Mat tempMat4 tempMat[3];Mat tempMat5 tempMat[4];//获取模板数目int tempMat_Nums tempMat.size();//获取测试图像Mat srcImageimread(D:\\opencv_picture_test\\视觉项目\\v圆1.png); //测试图Mat resultMat;Mat dispMat;int match_method TM_CCORR_NORMED; //经过试错发现此参数较好。//用每个模板去匹配测试图并且找出每次结果的最佳匹配值将值存入vector中vectordoublegoodval;vectorPointgoodlock;int matchnum 0;Point matchLoc;for (int i 0;i tempMat_Nums;i){//采用模板与目标图像像素与各自图像的平均值计算dot product正值越大匹配度越高负值越大图像的区别越大但如果图像没有明显的特征即图像中的像素值与平均值接近则返回值越接近0matchTemplate(srcImage, 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);}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);matchLoc goodlock[matchnum];srcImage.copyTo(dispMat);//circle(dispMat, matchLoc, 5, Scalar(0, 0, 255), 2, 8, 0);//以最佳匹配点为中心绘制与模板相同大小的框rectangle(dispMat, matchLoc, Point(matchLoc.x tempMat[matchnum].cols, matchLoc.y tempMat[matchnum].rows), Scalar::all(0), 2, 8, 0);//namedWindow(template, WINDOW_NORMAL);//WINDOW_NORMAL允许用户自由伸缩//imshow(template, tempMat);namedWindow(srcImage, WINDOW_NORMAL);//WINDOW_NORMAL允许用户自由伸缩imshow(srcImage, dispMat);waitKey(0);return 0; }
http://www.pierceye.com/news/713203/

相关文章:

  • 口碑好的网站建设苏州园区做网站公司
  • 网站互联网设计图风格网站服务器异常是什么意思
  • 有哪些好的做兼职网站有哪些免费做ppt的网站
  • 学生成绩管理系统网站建设上海公共招聘网12333官网
  • 邵东做网站的公司wordpress修改文章字体颜色
  • 那个网站百度收录快天河高端网站建设
  • 网站建设 客户拜访wordpress设置新页面
  • 做百度推广送的网站网站建设中gif
  • 网站风格介绍wordpress怎么给产品编号
  • 站长聚集地深圳网络提速优化服务包
  • 西安外贸网站建设公司网站域名过期后续费多长时间生效
  • 网站制作资质2017建设厅网站
  • 网站系统开发毕业设计哈尔滨seo优化软件
  • 南通企业网站网站制作的书籍
  • 长沙网站收录怎么网站能找人做装修事
  • 鞍山网站制作谁家好2021没封的网站有人分享吗
  • 网站建设公司net2006iis虚拟网站
  • 有哪些竞价网站wordpress手机端网站模板下载
  • 浙江建设厅网站施工员报名莱芜庞允盟
  • 网站建设 销售 知乎云南网站设计外包
  • 网站建设怎么学习phpcms门户网站
  • 佛山营销型网站定制三站合一网站建设方案
  • 广州市哪有做网站的查找全国免费网站建设
  • 江门seo网站推广跳动爱心代码html教程
  • 网站退出率网易搜索引擎入口
  • 企业网站建设方讯长沙城乡建设网站
  • 手机网站建设优化软件做网站空间费用是什么意思
  • 网站透明效果工厂网站建设流程图
  • 崇安网站建设广州本地门户网站
  • 网站建设公司河南郑州wordpress 单栏