当前位置: 首页 > 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.zqtcl.cn/news/351428/

相关文章:

  • 网站建设公司沈阳西安建设工程信息交易中心官网
  • 青海住房和城乡建设部网站wordpress php7.3
  • 网站后台重置密码怎么做360网站怎么做网址链接
  • 广告网站建设及推广网站建设怎样推广
  • 做网站使网页不居中滁州注册公司流程和费用
  • 做网站广告经营者个性定制网站
  • 网站开发 北京外包公司软件公司网站建设
  • 网络认证入口seo免费诊断
  • 十大知名博客网站郑州企业建站公司定制
  • 视频网站如何做引流网站首页 关键词
  • 建设机械网站精英大港做网站
  • 潜山网站建设公司哪里有wordpress相册投票插件
  • 网站建设制作过程网站添加支付功能
  • 网站制作字体即墨公司做网站
  • vue 做pc网站可以吗哪个网站买域名便宜
  • 做销售网站那家好金华住房与城乡建设部网站
  • apple私人免费网站怎么下载无锡网站建设技术
  • 移动应用网站开发阶段作业信息型网站有哪些
  • 监控直播网站开发网站建设与管理总结
  • 青岛城阳网站设计免费网站成品
  • 做服装外贸的网站ghost wordpress
  • 建设银行的网站为什么这么卡网页设计用啥软件
  • 电子商务 网站开发南阳网网站建设
  • 中小型企业网络拓扑图及配置株洲seo网站推广
  • 中国镇江网站如何搭建自己的网址
  • wordpress 自动广告seo搜索引擎优化原理
  • 区块链网站用vue.js做怎么样长春站建筑
  • 集团公司门户网站建设adsl做网站
  • 山东建设监理协会官方网站茂名建站公司模板
  • 烟台做网站案例创业网站推广怎么做