位置: IT常识 - 正文

【OpenCV--模板匹配】(opencv模板匹配原理)

编辑:rootadmin
【OpenCV--模板匹配】

目录

一、模板匹配

1.定义:

2.实现:

二、霍夫线检测

1.原理:

2.实现:

 三、霍夫圆检测

1.描述:

2.用法:

一、模板匹配1.定义:

推荐整理分享【OpenCV--模板匹配】(opencv模板匹配原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opencv模板匹配原理,opencv 模板匹配得到坐标和角度,opencv 模板匹配得到坐标和角度,opencv 模板匹配得到坐标和角度,opencvsharp模板匹配,opencv 模板,opencv模板匹配算法改进,opencv模板匹配原理,内容如对您有帮助,希望把文章链接给更多的朋友!

模板匹配就是在给定的图片中,查找和模板最相似的区域,算法的输入包括模板和图片,通过不断移动模板图片,计算其与图片对应区域匹配度,将匹配度最高区域选择为最终结果

2.实现:

result=cv.matchTemplate( img,template,method)

参数:

1>template :模板 2>method: 实现模板匹配的算法,主要有: 1.平方差匹配(CV_TM_SQDIFF):利用模板与图像之间的平方差进行匹配,最好的匹配是0,匹配越差,匹配的值越大。 2.相关匹配(CV_TM_CCORR):利用模板与图像间的乘法进行匹配,数值越大表示匹配程度较高,越小表示匹配效果差。 3.利用相关系数匹配(CV_TM_CCOEFF):利用模板与图像间的相关系数匹配,1表示完美的匹配,-1表示最差的匹配。

注意:完成匹配后,使用cv.minMaxLoc()方法查找最大值所在的位置即可,如果使用平方差作为比较方法,则最小值位置是最佳匹配位置。

import numpy as npimport matplotlib.pyplot as pltimport cv2 as cvimg=cv.imread('snow.jpg')#plt.imshow(img[:,:,::-1])#plt.show()template=cv.imread('snow1.jpg')h,w=template.shape[:2]result=cv.matchTemplate(img,template,cv.TM_CCORR)min_val,max_val,min_loc,max_loc=cv.minMaxLoc(result)top_left=max_locbottom_right=(top_left[0]+w,top_left[1]+h)cv.rectangle(img,top_left,bottom_right,(0,255,0),2)#设置颜色与宽度plt.imshow(img[:,:,::-1])plt.show()

 

二、霍夫线检测1.原理:

霍夫变换常用来提取图像中的直线和圆等几何图形,霍夫空间中的一条线对应笛卡尔坐标系中一个点:

【OpenCV--模板匹配】(opencv模板匹配原理)

笛卡尔坐标系中两个点,对应霍夫空间一条直线

在霍夫空间内,经过一个点的直线越多,说明其在笛卡尔空间内映射的直线是由越多的点所构成,在笛卡尔空间中,可能存在斜率为无穷的直线,此时就需要采用极坐标

2.实现:

cv.HoughLines(img,rho,theta,threshold)

参数:

img:检测的图像,要求是二值化的图像,所以在调用霍夫变换之前首先要迸行二值化,或者迸行Canny边缘检测 rho、theta: 两个角度的精确度 threshold:阈值,只有累加器中的值高于该阈值时才被认为是直线

import numpy as npimport matplotlib.pyplot as pltimport cv2 as cvimg=cv.imread("straight.jpg")edges=cv.Canny(img,50,200)#plt.imshow(edges,cmap=plt.cm.gray)#plt.show()lines=cv.HoughLines(edges,0.8,np.pi/180,100)for line in lines: rho,theta=line[0] a=np.cos(theta) b=np.sin(theta) x0=rho*a y0=rho*b x1=int(x0+1000*(-b)) y1=int(y0+1000*a) x2=int(x0-1000*(-b)) y2=int(y0-1000*a) cv.line(img,(x1,y1),(x2,y2),(0,0,255))plt.imshow(img[:,:,::-1])plt.show()

 三、霍夫圆检测1.描述:

OpenCV采用霍夫梯度法将霍夫圆检测范围两个阶段,第一阶段检测圆心,第二阶段利用圆心推导出圆圆心检测的原理:圆心是圆周法线的交汇处,设置-一个阈值,在某点的相交的直线的条数大于这个阈值就认为该交汇点为圆心。 圆半径确定原理:圆心到圆周上的距离(半径)是相同的,确定- 个阈值,只要相同距离的数量大 于该阈值,就认为该距离是该圆心的半径。

2.用法:

circles=cv.HoughCircles(image,method,dp,minDist,param1=100,param2=100,minRadius=0,maxRadius=0)

参数:

1>method: 使用霍夫变换圆检测的算法,它的参数是CV_ HOUGH_ GRADIENT 2>dp:霍夫空间的分辨率,dp=1时表示霍夫空间与输入图像空间的大小一致, dp=2时霍夫空间是输入图像空间的一半,以此类推 3>minDist为圆心之间的最小距离,如果检测到的两个圆心之间距离小于该值,则认为它们是同一个圆心 4>param1: 边缘检测时使用Canny算子的高阈值,低阈值是高阈值的一半 5>param2: 检测圆心和确定半径时所共有的阈值 6>minRadius和maxRadius为所检测到的圆半径的最小值和最大值

import numpy as npimport matplotlib.pyplot as pltimport cv2 as cvimg=cv.imread("straight.jpg")img1=cv.cvtColor(img,cv.COLOR_BGR2GRAY)img2=cv.medianBlur(img1,7)#plt.imshow(img2,cmap=plt.cm.gray)#plt.show()circles=cv.HoughCircles(img2,cv.HOUGH_GRADIENT,1,200,param1=100,param2=50,minRadius=0,maxRadius=100)circle1=circles[0, :, :]circle1=np.uint16(np.around(circle1))for c in circle1[:]: cv.circle(img,(c[0],c[1],c[2],(0,0,255),2)) cv.circle(img,(c[0],c[1],c[2],(0,0,255),-1))plt.imshow(img[:,:,::-1])plt.show()
本文链接地址:https://www.jiuchutong.com/zhishi/299454.html 转载请保留说明!

上一篇:【Web前端】CSS-盒子模型(web前端 css)

下一篇:计算机视觉-OpenCV入门讲解(计算机视觉opencv 有什么项目)

  • 视频怎么裁剪画面大小(视频怎么裁剪画面大小免费)

    视频怎么裁剪画面大小(视频怎么裁剪画面大小免费)

  • iphone手机怎么设置学生模式呢(iphone手机怎么设置字体拼音)

    iphone手机怎么设置学生模式呢(iphone手机怎么设置字体拼音)

  • 小米音乐通知栏怎么关(小米音乐通知栏怎么开)

    小米音乐通知栏怎么关(小米音乐通知栏怎么开)

  • 华为mate30pro能投屏到墙上吗(华为mate30pro投射功能)

    华为mate30pro能投屏到墙上吗(华为mate30pro投射功能)

  • 苹果十一忘记解锁密码怎么办(苹果11忘记了怎么办才能解开)

    苹果十一忘记解锁密码怎么办(苹果11忘记了怎么办才能解开)

  • 微信怎么定点发消息(微信怎么定点发红包)

    微信怎么定点发消息(微信怎么定点发红包)

  • 京瓷1020打印机怎么换墨盒

    京瓷1020打印机怎么换墨盒

  • imovie怎么下载不了(imovie视频下载)

    imovie怎么下载不了(imovie视频下载)

  • pump fan是什么接口(pump_fan1是什么接口)

    pump fan是什么接口(pump_fan1是什么接口)

  • mdb是什么格式(mdb格式的文件怎么打开编辑)

    mdb是什么格式(mdb格式的文件怎么打开编辑)

  • qq号能查到什么(知道一个人qq号能查到什么)

    qq号能查到什么(知道一个人qq号能查到什么)

  • 手机录屏在微信上发不出去(手机录屏在微信哪里找)

    手机录屏在微信上发不出去(手机录屏在微信哪里找)

  • qq气泡怎么设置成白色(QQ气泡怎么设置手机系统字体)

    qq气泡怎么设置成白色(QQ气泡怎么设置手机系统字体)

  • ipados支持的设备(ipados适用哪些机型)

    ipados支持的设备(ipados适用哪些机型)

  • 微信被冻结了,手机号不是自己的怎么办(微信被冻结了不是本人身份证怎么解冻)

    微信被冻结了,手机号不是自己的怎么办(微信被冻结了不是本人身份证怎么解冻)

  • ods是什么文件格式(ods是什么文档)

    ods是什么文件格式(ods是什么文档)

  • 3840x2160分辨率清楚吗(3840x1440分辨率)

    3840x2160分辨率清楚吗(3840x1440分辨率)

  • 华为p30pro灭屏显示费电吗(华为p30pro灭屏显示样式)

    华为p30pro灭屏显示费电吗(华为p30pro灭屏显示样式)

  • vivos1怎么分屏(vivos1怎么分屏两个光遇)

    vivos1怎么分屏(vivos1怎么分屏两个光遇)

  • 华为手环怎么连接蓝牙(华为手环怎么连接微信接收信息)

    华为手环怎么连接蓝牙(华为手环怎么连接微信接收信息)

  • 苹果airpods支持se么(苹果airpods支持安卓吗)

    苹果airpods支持se么(苹果airpods支持安卓吗)

  • 小艺在哪里换声音(小艺能换声音吗)

    小艺在哪里换声音(小艺能换声音吗)

  • wps怎么批量删除行(wps怎么批量删除空格)

    wps怎么批量删除行(wps怎么批量删除空格)

  • wps文档没保存怎么恢复(wps文档没保存怎么找回平板)

    wps文档没保存怎么恢复(wps文档没保存怎么找回平板)

  • 5g标准制定是什么(5g标准确定)

    5g标准制定是什么(5g标准确定)

  • 华为8x支持红外线吗(华为8x红外线功能怎么开)

    华为8x支持红外线吗(华为8x红外线功能怎么开)

  • 美柚怎么用(美柚怎么用淘宝账号登录)

    美柚怎么用(美柚怎么用淘宝账号登录)

  • 美图秀秀怎么发图片(美图秀秀怎么发布视频配方)

    美图秀秀怎么发图片(美图秀秀怎么发布视频配方)

  • 格林内尔湖,蒙大拿州冰川国家公园 (© Pung/Shutterstock)(格林湖人)

    格林内尔湖,蒙大拿州冰川国家公园 (© Pung/Shutterstock)(格林湖人)

  • Vue.js面试题(21级就业版)(vue面试题简书)

    Vue.js面试题(21级就业版)(vue面试题简书)

  • 子公司把利润给母公司怎么做账
  • 去年的亏损今年第一季度可以弥补吗
  • 注册资金证明包含哪些
  • 固定资产怎么进账
  • 汇总记账凭证核算组织程序的缺点主要有
  • 培训发生的差旅费的会计准则有哪些
  • 按简易办法计税销售额税率
  • 非货币交易例子
  • 外购烟叶税进项税额的扣除率
  • 开完发票业务没收入需要确认收入入账吗?
  • 工信部联企业[2011]300号 小型企业
  • 返回的工会经费如何做账最新
  • 未做账怎么补账
  • 电子税务局哪里打印发票
  • 外籍人员工资个税
  • 解决脱发的8个方法
  • 其他综合收益怎么来的
  • 企业废业实收资产怎么算
  • 在电脑上网页打不开怎么办
  • win11资源管理器怎么打开
  • 建筑业产值填哪个数据
  • 在win7系统中如何让电脑恢复出厂设置方法
  • linux查看磁盘空间 命令fdisk
  • mac菜单键怎么设置出来的
  • 为什么WIN10系统打在画面进不去
  • 分公司吸收新股怎么办
  • 怎么修改boot启动项
  • 押金收不回的会计分录
  • 增值税出口服务零税率
  • php异常处理和错误处理
  • 机关事业单位体检费用标准规定
  • 汇算清缴怎么调减
  • 出口退税款计入营业外收入要交所得税吗
  • 观景台俯视图
  • 尚融宝盈(宁波)投资中心(有限合伙)
  • 深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)
  • 税务系统申报表
  • 公司管理费一般占多少个点
  • mysql写日志机制
  • 循环语句例题及解析
  • 建安企业确认收入的依据
  • 刷pos机的如何记会计分录
  • 公司开电费发票该怎么入账?
  • 应付货款和应付款的区别
  • 医院交什么保险
  • 工会筹备金有优惠政策吗
  • var文件是什么意思
  • 初级会计实务重点内容
  • 印花税根据不同的税目,分别采用
  • 公司收到虚开发票
  • 给客户买的礼品要交税吗
  • 股权转让的会计分录
  • 小规模与一般纳税人的界定
  • 在建工程预付款怎么做账
  • 财务单独核算是什么意思
  • 资产负债表日指的是什么
  • 现金日记账怎么填写规范
  • sql中分页
  • linux管理工具有哪些
  • 字符集 linux
  • 如何设置无线网密码
  • ubuntu设置登录用户
  • centos删除vg
  • win7怎么删除除了系统盘所有东西
  • win7怎么修改开机启动
  • win10升级win1
  • python3 urllib模块
  • Node.js中的什么模块是用于处理文件和目录的
  • jquery的选择器作用是选中某些元素
  • shell定时删除指定目录下的文件夹
  • javascript教程chm
  • js处理时间
  • javascript中继承
  • js中prototype的作用
  • 空调设备税率多少钱
  • 福建2021年水利水电招聘
  • 税务局绩效奖金多少
  • 运城取暖费网上怎么交
  • 税局签三方
  • 北京朝阳区国税局时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设