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

深圳做网站收费沈阳计算机培训短期速成班

深圳做网站收费,沈阳计算机培训短期速成班,兴宁区住房和城乡建设局网站,中国最大的网络公司排名目录 一、环境 二、模板匹配算法原理 三、代码演示 一、环境 本文使用环境为#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、模板匹配算法原理 cv.matchTemplate是OpenCV库中的一个函数#xff0c;用于在图像中查找与模板匹配的特征。它的主要应用场景…目录 一、环境 二、模板匹配算法原理 三、代码演示 一、环境 本文使用环境为 Windows10Python 3.9.17opencv-python 4.8.0.74 二、模板匹配算法原理 cv.matchTemplate是OpenCV库中的一个函数用于在图像中查找与模板匹配的特征。它的主要应用场景是在图像处理、计算机视觉和模式识别等领域。 算法原理 cv.matchTemplate函数通过计算输入图像与模板图像之间的相似度来找到最佳匹配位置。它使用滑动窗口的方法在输入图像上移动模板图像并计算每个窗口内的像素值差异。然后根据所选的匹配方法如平方差、归一化平方差、相关系数等对差异进行加权求和得到一个匹配得分矩阵。最后函数返回得分矩阵中的最大值及其位置作为最佳匹配位置。 函数API retval, result cv2.matchTemplate(image, templ, method, mask)参数说明 image输入图像通常是一个灰度图像。templ模板图像可以是灰度图像或彩色图像。method匹配方法常用的有 cv2.TM_SQDIFF平方差匹配法计算结果越小表示匹配程度越高。cv2.TM_SQDIFF_NORMED归一化平方差匹配法计算结果越接近0表示匹配程度越高。cv2.TM_CCORR相关系数匹配法计算结果越接近1表示匹配程度越高。cv2.TM_CCORR_NORMED归一化相关系数匹配法计算结果越接近1表示匹配程度越高。cv2.TM_CCOEFF相关系数匹配法计算结果越接近1表示匹配程度越高。cv2.TM_CCOEFF_NORMED归一化相关系数匹配法计算结果越接近1表示匹配程度越高。mask可选参数mask是一个二值图作用于参数temp1有效区域则参与模板匹配计算 返回值说明 result匹配结果矩阵每个元素表示对应位置的匹配程度。minVal, maxVal, minLoc, maxLoc最佳匹配位置的最小值、最大值、最小值位置和最大值位置。 下面是对 cv.matchTemplate() 算法的简单解释 预处理首先将输入图像和模板图像转换为灰度图像。这是因为 cv.matchTemplate() 算法只支持灰度图像。滑动模板然后算法会在输入图像上滑动模板。对于每个位置从左到右、从上到下呗都会计算一个匹配分数。这个分数取决于当前位置的图像和模板的相似性。计算匹配分数根据选择的匹配方法计算当前位置的匹配分数。例如如果选择的是归一化相关系数方法那么算法会计算输入图像和模板在当前位置的相关系数。其他方法如归一化相关、平方差等会有不同的计算方式。找到最匹配的位置在所有位置中算法会找到匹配分数最高的位置。这个位置就是最匹配的位置。返回结果最后函数会返回一个包含所有匹配区域信息的结构。这个结构包含了每个匹配区域的坐标、匹配分数等信息。 需要注意的是由于滑动窗口的限制如果模板和图像的某些区域不匹配这些区域将不会被计入匹配分数。这是通过使用掩码mask参数实现的。掩码是一个与模板大小相同的二维数组值可以是0或1。在掩码中为1的位置将被计入匹配分数为0的位置则不会被计入。 总的来说cv.matchTemplate() 是一个强大的工具可以用于在图像中查找和模板最匹配的区域。它广泛应用于图像处理、计算机视觉和模式识别等领域。 三、代码演示 代码中需要的三张图这里给出来lena_tmpl.jpg以下是原图 tmpl.png以下是模板图意思是在原图中找到与其相似的区域用矩形画出来。 mask.png必须与tmp1.png尺寸相同是一个二值图用于表示模板计算过程中模板图中哪些区域用于模板匹配。 from __future__ import print_function import sys import cv2 as cv# 全局变量 use_mask False img None templ None mask None image_window Source Image result_window Result windowmatch_method 0 max_Trackbar 5def main():# 读取三张图global imgglobal templimg cv.imread(data/lena_tmpl.jpg, cv.IMREAD_COLOR) # 图片1templ cv.imread(data/tmpl.png, cv.IMREAD_COLOR) # 图片2global use_maskuse_mask Trueglobal maskmask cv.imread(data/mask.png, cv.IMREAD_COLOR ) # 图片3if ((img is None) or (templ is None) or (use_mask and (mask is None))):print(Can\t read one of the images)return -1cv.namedWindow( image_window, cv.WINDOW_AUTOSIZE )cv.namedWindow( result_window, cv.WINDOW_AUTOSIZE )# 创建滑条trackbar_label Method: \n 0: SQDIFF \n 1: SQDIFF NORMED \n 2: TM CCORR \n 3: TM CCORR NORMED \n 4: TM COEFF \n 5: TM COEFF NORMEDcv.createTrackbar( trackbar_label, image_window, match_method, max_Trackbar, MatchingMethod )# 执行模板匹配MatchingMethod(match_method)cv.waitKey(0)return 0def MatchingMethod(param):global match_methodmatch_method paramimg_display img.copy()# 模板匹配method_accepts_mask (cv.TM_SQDIFF match_method or match_method cv.TM_CCORR_NORMED)if (use_mask and method_accepts_mask):result cv.matchTemplate(img, templ, match_method, None, mask)else:result cv.matchTemplate(img, templ, match_method)# 将结果进行归一化到[0, 1]cv.normalize( result, result, 0, 1, cv.NORM_MINMAX, -1 )# 找到最佳匹配_minVal, _maxVal, minLoc, maxLoc cv.minMaxLoc(result, None)# 得到的匹配位置即一个矩形框if (match_method cv.TM_SQDIFF or match_method cv.TM_SQDIFF_NORMED):matchLoc minLocelse:matchLoc maxLoc# 可视化cv.rectangle(img_display, matchLoc, (matchLoc[0] templ.shape[0], matchLoc[1] templ.shape[1]), (0,255,0), 2, 8, 0 )cv.rectangle(result, matchLoc, (matchLoc[0] templ.shape[0], matchLoc[1] templ.shape[1]), (0,0,255), 2, 8, 0 )cv.imshow(image_window, img_display)cv.imshow(result_window, result)pass if __name__ __main__:main() 以下是不同算法运行效果哪些算法吊一眼就能看出来自己可以玩一玩哈。 \n 0: SQDIFF \n 1: SQDIFF \n 2: TM CCORR \n 3: TM CCORR \n 4: TM COEFF \n 5: TM COEFF
http://www.sczhlp.com/news/228968/

相关文章:

  • 网站开发与设计前景eclipse网站开发环境搭建
  • SEO案例网站建设公司主要网站 开发语言
  • 矩阵 - R
  • Unreal:PixelStreaming 像素流送
  • 图片
  • Unreal:自定义配置DeveloperSettings
  • wordpress设置幻灯片淄博seo网络推广
  • 青海专业的网站建设公司泉州网站建设哪里优惠
  • 喷码机营销型网站网站建设流程精英
  • 提供建站服务的网络公司的比较固始城乡建设局的网站怎么打不开了
  • 网站收录提交工具稳定免费空间
  • phpcms网站logo外贸推广信邮件
  • 网站备案完成通知书网站建设需要学些什么
  • 淄博做网站跟优化现在进入东莞需要什么条件
  • 手机app设计网站现在个人做网站或者app还有收益
  • 企业网站建设联系电话手机网站怎样做解析
  • wordpress导入失败郑州专业网站推广优化公司
  • 石景山做网站的公司文库网站建设开发
  • 关于jsp网站开发的最新书籍百度小程序怎么进入
  • 厚街网站建设费用relive模板wordpress分享
  • 网站设计步骤包括哪些360网站安全检测
  • 工具seo哈尔滨seo优化服务商
  • 怎么样用ppt做网站网站在线统计代码
  • 服饰团购网站建设好用的免费建站网站
  • 网站数据展示西安网站 技术支持牛商网
  • 做网站能用思源黑体吗中国建筑工程网施工资料
  • 营销型网站设计wordpress评论白名单
  • 唯品会网站推广策略做外贸外文网站怎么做好
  • 自适应导航网站模板重庆网站推广工具
  • 中山专业门户网站制作咨询网页设计公司网站制作