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

成都专业网站建设公司张家口万全区建设网站

成都专业网站建设公司,张家口万全区建设网站,免费文件外链网站,做saas平台网站图像模板匹配原理 例如给定一张图片,如上图大矩阵所示,然后给定一张模板图像,如上图小矩阵。 我们在大图像中去搜索与小图像中相同的部分或者是最为相似的内容。比如我们在图像中以灰色区域给出一个与模板图像尺寸大小一致的区域,…

图像模板匹配原理

     例如给定一张图片,如上图大矩阵所示,然后给定一张模板图像,如上图小矩阵。

     我们在大图像中去搜索与小图像中相同的部分或者是最为相似的内容。比如我们在图像中以灰色区域给出一个与模板图像尺寸大小一致的区域,通过比较灰色区域中的内容与模板中的内容,两者如果一致,那么则认定两者是相似的,从而实现了在目标图像中寻找模板图像的匹配过程,若两者不一致,比如上图阴影区域中第一个像素值为3,而模板中第一个像素值为4,那么两者之间存在差距,通过每一个对应像素之间进行一次度量计算作为模板匹配中的匹配系数(度量矩阵),之后移动图像中的阴影区域(一次移动一个像素,从左往右,从上往下),再次对阴影区域所对应的像素值与模板中的像素进行度量计算得到模板匹配系数,每移动一次阴影区域就可以得到一个模板匹配系数,之后寻找这个系数所代表的匹配的最佳结果的位置即为最终的匹配结果(相似程度最高)。

    如上图所示用TM_CCORR_NORMED方法处理后的result为度量矩阵(即匹配系数),最白的位置代表最高的匹配系数,以系数最佳(最大或者最小,看你用什么算法)为顶点(即图像的左上角点,opencv中图像坐标原点为左上角点,y向下值越大,x向右值越大),做一个长宽和模板图像一样大小的矩形框,即为最佳匹配的区域。

实际中我们可以使用函数minMaxLoc来定位矩阵R中的最大值(最小值)。

图像模板匹配函数

matchTenplate()

vodi cv::matchTemplate(InputArray  image,InputArray  templ,OutputArray result,int         method,InputArray  mask = noArray())

·image:待模板匹配的原图像,图像数据类型为CV_8U和CV_32F两者之一。

·templ:模板图像,需要与image具有相同的数据类型,但是尺寸不能大于image。

·result:模板匹配结果输出图像,图像数据类型为CV_32F。如果image的尺寸为W*H,模板图像尺寸为w*h,则输出图像的尺寸为(W-w+1) * (H-h+1)。

·method:模板匹配方法标志。

·mask:匹配模板的掩码,必须与模板图像具有相同的数据类型和尺寸,默认情况下不设置,目前仅支持在TM_SQDIFF和TM_CCORR_NORMED这两种匹配方法时使用。

图像模板匹配方法标志

·平方差匹配TM_SQDIFF:

最好匹配为0,匹配程度越低,值越大。

·标准平方差匹配TM_SQDIFF_NORMED:

·相关匹配TM_CCORR:

此类方法采用模板与图像间的乘法操作,所以较大的数表示匹配程度高,0表示最差的匹配效果。

·标准相关匹配TM_CCORR_NORMED:

·系数匹配TM_CCOEFF:

此类方法将模板对其均值的相对值与图像对其均值的相对值进行匹配,1表示完美匹配,-1表示糟糕匹配,0表示没有任何相关性(随机序列)。

·标准系数匹配:TM_CCOEFF_NORMED:

随着从简单的测量(平方差)到更复杂的测量(相关系数),我们可获得越来越准确的匹配(也意味着越来越大的计算代价),最好的办法是对所有这些设置多做一些测试实验,以便为自己的应用选择同时兼顾速度和精度的最佳方案。

示例:
#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv; //opencv的命名空间
using namespace std;//主函数
int main()
{Mat img = imread("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lenac.png");Mat temp = imread("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lena_face.png");//模板图像Mat result; //匹配结果matchTemplate(img, temp, result, TM_CCOEFF_NORMED);//模板匹配函数double maxval, minval;Point maxLoc, minLoc;minMaxLoc(result, &minval, &maxval, &minLoc, &maxLoc);//最大值最小值寻找函数//然后我们在图像中找到最大值的位置,绘制出匹配成功的区域,就能够在图像中看到最佳匹配的结果rectangle(img, Point(maxLoc.x, maxLoc.y), Point(maxLoc.x + temp.cols, maxLoc.y + temp.rows), Scalar(0, 0, 255), 2);//矩形框绘制
circle(img, Point(maxLoc.x, maxLoc.y), 1, Scalar(255, 0, 120), 30); //最大值点的位置imshow("原图像", img);imshow("模板图像", temp);imshow("result", result);waitKey(0);//等待函数用于显示图像return 0;}

http://www.yayakq.cn/news/733567/

相关文章:

  • 营销微网站建设公司怎样才可以知道网站是否优化
  • 互联网平台宣传推广方案谷歌seo需要做什么
  • 马鞍山网站制作公司彩票源码论坛
  • 公司支付网站款做凭证建设银行基金网站
  • 做网站协议书云主机下载
  • 福州手机模板建站寰宇seo
  • 东莞网站建设应该怎么做做五金的网站
  • 开源 html5网站模板设计制作电子演示文稿不是
  • 合肥移动网站建设推荐一个做淘客网站
  • 广告网站设计公司好吗在百度上免费做网站页面
  • 咸阳网站建设推广株洲网站定制
  • 买域名网站怎样做一个公众号
  • 国外做兼职网站有哪些英文网站做翻译接单
  • 互联网营销型网站做网站好听的域名
  • 网站维护常识网站建设找哪家公司
  • 网站后台模块福州网站建设网络公司
  • 动态手机网站腾讯轻量服务器
  • 赶集网网站建设成都集团网站建设
  • 英文网站建站山东广西南宁相亲网
  • 关于申请网站建设经费的报告公司网站是如何搭建的
  • 如何设计一个漂亮的网站手机网站总是自动跳转
  • 网站建设单位有哪些内容网站建设咨询客户话术
  • 廊坊制作网站公司企业新网站seo推广
  • 网站托管 建设方案装饰设计软件
  • 营销型企业网站制作昆明手机网站开发
  • 专门做相声的网站济宁做网站比较好的公司有哪些
  • 广告费内包括网站建设宁波企业网制作公司有哪些
  • 网站卖掉被拿来做网站了网络安全知识
  • 教育 企业 重庆网站建设现在可以做网站么
  • 网站建设维护岗位职责mxd 主题Wordpress