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

制作网站结构设计wordpress图片视频分享代码

制作网站结构设计,wordpress图片视频分享代码,德州哪个做网站做得好,在线设计平台canva可画简介#xff1a;本文深入探讨 OpenCV 中的模板匹配技术。详细介绍构建输入图像与模板图像的步骤#xff0c;包括读取、截取、滤波与存储等操作。剖析 cv2.matchTemplate 语法及其参数含义#xff0c;阐述不同匹配方法下结果值的意义。同时讲解 cv2.minMaxLoc 语法#xff0… 简介本文深入探讨 OpenCV 中的模板匹配技术。详细介绍构建输入图像与模板图像的步骤包括读取、截取、滤波与存储等操作。剖析 cv2.matchTemplate 语法及其参数含义阐述不同匹配方法下结果值的意义。同时讲解 cv2.minMaxLoc 语法并通过代码示例展示单模板匹配查找最小值与最大值的实现过程以及多模板匹配的完整步骤涵盖阈值设定、解的获取与标记绘制等助您全面掌握 OpenCV 模板匹配要点提升图像处理能力。 如果你觉得本文对你的OpenCV模板匹配学习有所帮助请帮我点赞收藏 关注我会持续创作更多的OpenCV相关的博文帮助你我共同进步。 OpenCV 模板匹配全解析从单模板到多模板的实战指南 模板匹配构建输入图像 与模板图像 cv2.matchTemplate语法cv2.minMaxLoc语法单模板匹配查找最小值单模板匹配最大值多模版匹配致谢 模板匹配 是指把模板图像与输入进行比对滑动遍历所有像素找到相似的。 在OpenCV中使用模板匹配分成两种一种是单模版匹配一种是多模板匹配。在本次的代码中使用了pig.JPG图像进行实验大家可以复制图片然后跟自己的代码放在同一个文件夹下运行 构建输入图像 与模板图像 模板图像构建的思路如下: 第一步把这个pig.JPG图像使用cv2.imread读取到项目文件中 第二步选择猪猪的眼睛对应的那部分np数组的索引 第三步使用高斯滤波对这部分进行平滑处理 第四步使用cv2.imwrite函数将做好的模板部分保存到pig_eye.JPG中 这里使用高斯滤波的目的是为了不让截取的图片和原图一模一样 import cv2 import numpy as np img cv2.imread(pig.JPG) # print(img.shape) img img[300:400,220:370] img cv2.GaussianBlur(img,(5,5),0) r cv2.imwrite(eye.JPG,img) cv2.imshow(eye,img) cv2.waitKey() cv2.destroyAllWindows()构建输入图像是为了可以实现验证多模板匹配的效果 第一步读取pig.JPG图片的shape 第二步构建一个两倍宽度的全0数组 第三步将图片复制到数组中 第四步展示复制效果 import cv2 import numpy as np img cv2.imread(pig.JPG) height,width,channels img.shape empty np.zeros((height,2*width,channels),dtype np.uint8) empty[0:height,0:width] img empty[0:height,width:width*2] img r cv2.imwrite(moudle.JPG,empty) cv2.imshow(moudle,empty) cv2.waitKey() cv2.destroyAllWindows()cv2.matchTemplate语法 result 返回值是由每个位置比较结果构成的一个结果集 他的尺寸是 输入图像 - 模板图像1 无论是宽还是高都一样 cv2.matchTemplateimage输入图像templ模板图像method匹配方法mask通常使用默认值 仅支持TM_SQDIFF 和 TM_CCORR_NORMED 对于参数method而言分两种情况 若值为cv2.TM_SQDIFF和cv2.TM_SQDIFF_NORMED时result值越低匹配效果越好若值为cv2.TM_CCORR和cv2.TM_CCORR_NORMED和cv2.TM-CCOEFF和cv2.TM-CCOEFF_NORMED时值越大匹配效果越好 cv2.minMaxLoc语法 minVal 返回的最小值,maxVal 返回的最大值,minLoc最小值的位置,maxLoc最大值的位置 cv2.minMaxLoc( 数组) 单模板匹配查找最小值 第一步cv2.matchTemplate选择method 第二步把筛选结果放入cv2.minMaxLoc函数进行找最小值得位置 第三步这个位置是模板匹配的左上角根据宽高还原 第四步使用cv2.rectangle画白色标记没用过没关系看代码一眼就明白了 import cv2 import numpy as np import matplotlib.pyplot as plt img cv2.imread(pig.JPG,0) template cv2.imread(eye.JPG,0) # 获取模板图像的宽度和高度 th,tw template.shape[::] # 匹配获得结果 result cv2.matchTemplate(img,template,cv2.TM_SQDIFF) # 找到最小值就是结果最好的位置 minVal,_,minLoc,_ cv2.minMaxLoc(result) # 左上角坐标 topLeft minLoc # 右下角坐标 bottomRight topLeft[0]tw,topLeft[1]th # 画框 需要左上角右下角 灰度值范围 和框的宽度 cv2.rectangle(img,topLeft,bottomRight,255,2)plt.subplot(121) plt.imshow(template,cmap gray) plt.title(template_image) plt.axis(off)plt.subplot(122) plt.imshow(img,cmap gray) plt.title(result) plt.axis(off)单模板匹配最大值 只要你读懂了上一个例子这里只需要修改method参数和选最大值就解决了直接上代码 import cv2 import numpy as np import matplotlib.pyplot as plt img cv2.imread(pig.JPG,0) template cv2.imread(eye.JPG,0) # 获取模板图像的宽度和高度 th,tw template.shape[::] # 匹配获得结果 result cv2.matchTemplate(img,template,cv2.TM_CCOEFF) # 找到最大值就是结果最好的位置 _,maxVal,_,maxLoc cv2.minMaxLoc(result) # 左上角坐标 topLeft maxLoc # 右下角坐标 bottomRight topLeft[0]tw,topLeft[1]th # 画框 需要左上角右下角 灰度值范围 和框的宽度 cv2.rectangle(img,topLeft,bottomRight,255,2)plt.subplot(121) plt.imshow(template,cmap gray) plt.title(template_image) plt.axis(off)plt.subplot(122) plt.imshow(img,cmap gray) plt.title(result) plt.axis(off)多模版匹配 多模板匹配会有多个解所以需要按照下面这个步骤去解决问题 第一步cv2.matchTemplate选择method 第二步把筛选结果放入np.where(阈值)函数进行找所有满足阈值的解 第三步使用 for in zip的方式把解中的结果找出来 第四步找左上角坐标与 右下角坐标 第五步使用使用cv2.rectangle画白色标记 import cv2 import numpy as np import matplotlib.pyplot as plt img cv2.imread(moudle.JPG,0) template cv2.imread(eye.JPG,0) # 获取模板图像的宽度和高度 th,tw template.shape[::] # 匹配获得结果 result cv2.matchTemplate(img,template,cv2.TM_CCOEFF_NORMED)# 设置阈值 threshold 0.9 # 把筛选结果放入np.where(阈值)函数进行找所有满足阈值的解 loc np.where(resultthreshold)# 使用 for in zip的方式把解中的结果找出来 for pt in zip(*loc[::-1]):# 左上角坐标topLeft pt# 右下角坐标bottomRight topLeft[0]tw,topLeft[1]th# 画框 需要左上角右下角 灰度值范围 和框的宽度cv2.rectangle(img,topLeft,bottomRight,255,2)plt.subplot(121) plt.imshow(template,cmap gray) plt.title(template_image) plt.axis(off)plt.subplot(122) plt.imshow(img,cmap gray) plt.title(result) plt.axis(off)致谢 本文参考了一些博主的文章博取了他们的长处也结合了我的一些经验对他们表达诚挚的感谢使我对 OpenCV模板匹配 有更深入的了解也推荐大家去阅读一下他们的文章。纸上学来终觉浅明知此事要躬行 OpenCV第十章——模板匹配
http://www.hkea.cn/news/14425683/

相关文章:

  • 如何从建设局网站上更换职称人员wordpress循环该分类子分类
  • 网站建设与管理教学方案广州地铁
  • 网站开发 python怎么注册一个网站
  • 浙江网站建设推广公司十大排行网页设计及讲解多少钱
  • 学做网站需要多久时间哪家公司做网站不错
  • 企业网站宣传怎么用wordpress建立自己的网站吗
  • 山东省建设注册执业中心网站做网站学哪种代码好
  • 沈阳网站建设活动方案免费做网站软件下载
  • 网站开发代码语言沈阳网站排名工具
  • 网站开发前期方案唐山自助建站软件
  • 柳州建站公司南宁市建设工程信息网
  • jsp的网站电子商务网站建设汉狮
  • 网站技术报务费如何做会计分录零距离seo
  • 门户网站建站方案百度域名对应的ip地址
  • 通城做网站的做网站的ui框架
  • 合肥专业做淘宝网站推广南京网站开发南京乐识优
  • 网站建设推广有用吗wordpress删除数据库数据表
  • 湛江仿站定制模板建站wordpress网站如何清理js
  • 网站建设中网站需求分析报告内容龙岗网站建设公司哪家口碑好
  • 公司注册网站开发的行业表述心理健康教育网站建设
  • 网站主办者什么意思名片制作app软件
  • 做淘宝客为什么要建网站广州seo报价
  • 做网站要怎么备案湖南网站设计外包服务
  • 成都旅游网站建设规划方案网站代码生成网站
  • 做那个网站大全买完网站怎么建设
  • 重庆价格低建设网站公司移动网站屏蔽
  • 如何优化自己的网站屏幕分辨率 网站开发
  • 大连市城乡建设厅网站windows永久禁止更新
  • 化妆品网站建设预算明细表嵌入式软件开发价格
  • 做网站公司那家好济南品牌网站建设低价