位置: 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 有什么项目)

  • 荣耀30pro可以sd卡扩展的吗(荣耀30pro可以水下拍照吗)

    荣耀30pro可以sd卡扩展的吗(荣耀30pro可以水下拍照吗)

  • 抖音怎么回放直播(抖音直播怎么能回放)

    抖音怎么回放直播(抖音直播怎么能回放)

  • 小米手机怎么设置黑色微信(小米手机怎么设置闹钟)

    小米手机怎么设置黑色微信(小米手机怎么设置闹钟)

  • 表格用斜线一分为三怎么弄(表格斜线一分为二是什么意思)

    表格用斜线一分为三怎么弄(表格斜线一分为二是什么意思)

  • 蓝牙耳机怎么查定位(蓝牙耳机怎么查看连接设备)

    蓝牙耳机怎么查定位(蓝牙耳机怎么查看连接设备)

  • 淘宝相册读取照片权限怎么打开(淘宝相册读取照片怎么弄)

    淘宝相册读取照片权限怎么打开(淘宝相册读取照片怎么弄)

  • iphone零售机什么意思(iphone零售机是正品吗)

    iphone零售机什么意思(iphone零售机是正品吗)

  • 华为荣耀x10什么时候出(华为荣耀X10什么时候出的)

    华为荣耀x10什么时候出(华为荣耀X10什么时候出的)

  • ios13原彩显示在哪里(iphone13原彩显示)

    ios13原彩显示在哪里(iphone13原彩显示)

  • 微信群里可以设置全员禁言吗(微信群里可以设置几个管理员)

    微信群里可以设置全员禁言吗(微信群里可以设置几个管理员)

  • 相册视频没有声音怎么办(相册视频没有声音怎么恢复)

    相册视频没有声音怎么办(相册视频没有声音怎么恢复)

  • oppo声音太大怎么办(oppo手机声音调大还是很小怎么办)

    oppo声音太大怎么办(oppo手机声音调大还是很小怎么办)

  • 苹果x和xsmax有什么区别(苹果x和苹果xsmax哪个性价比高)

    苹果x和xsmax有什么区别(苹果x和苹果xsmax哪个性价比高)

  • 携程候补抢票什么意思(携程上候补抢票先支付钱?)

    携程候补抢票什么意思(携程上候补抢票先支付钱?)

  • 华为手机怎么连拍照片(华为手机怎么连接车载carplay)

    华为手机怎么连拍照片(华为手机怎么连接车载carplay)

  • xs有广角吗(苹果xs有广角吗)

    xs有广角吗(苹果xs有广角吗)

  • vue照片如何不动(vue如何调整图片顺序)

    vue照片如何不动(vue如何调整图片顺序)

  • 苹果x无线充电几w(苹果x无线充电没反应)

    苹果x无线充电几w(苹果x无线充电没反应)

  • 电脑怎么分盘win10(电脑怎么分盘win11惠普)

    电脑怎么分盘win10(电脑怎么分盘win11惠普)

  • 复制链接在快手哪里找到(复制链接在快手上怎么弄)

    复制链接在快手哪里找到(复制链接在快手上怎么弄)

  • 快手怎么设置成上下(快手怎么设置成抖音的浏览模式)

    快手怎么设置成上下(快手怎么设置成抖音的浏览模式)

  • 抖音怎么查好友(抖音怎么查好友艾特别人)

    抖音怎么查好友(抖音怎么查好友艾特别人)

  • 华为p30pro怎么插卡(华为p30pro怎么插双卡)

    华为p30pro怎么插卡(华为p30pro怎么插双卡)

  • Element-UI--<el-switch>的@change回调函数的参数用法

    Element-UI--<el-switch>的@change回调函数的参数用法

  • tsconfig.json详细配置(tsconfig baseurl)

    tsconfig.json详细配置(tsconfig baseurl)

  • 机器设备一般折旧几年
  • 小规模费用发票多有什么用途
  • 资产总额是营业收入吗
  • 客户发票弄丢了应该如何补救
  • 税控盘必须一直插着吗
  • 投资收益分红需要交企业所得税吗
  • 物流辅助服务属于什么费用
  • 个体户不足征是否要交房产税
  • 总分机构如何纳税
  • 小规模增值税征收条件
  • 活动现金红包
  • 股权转让时资本怎么算
  • 小规模租赁税是怎么征收的
  • 筹建期的行政罚款的账务处理怎么做?
  • 电商无发票成本怎么做账
  • 工会经费具体用途是什么
  • 先开发票再预缴税款吗
  • 代运营公司流程
  • 本月未认证的怎么处理
  • 上月库存占比怎么算
  • 怎么免费获取流量
  • 已经提完折旧的设备改造
  • 企业票据贴现费怎么算
  • 复制快捷键ctrl+c
  • thinkphp query
  • PHP isset()与empty()的使用区别详解
  • 报销凭证写错了怎么办
  • 流动资产处置利得
  • vscode写前端代码,如何运行
  • vue3 拖拽
  • 傅里叶级数狄利克雷判别法
  • react redux reducer
  • ntpd命令
  • 注册公司填写从业人数多少合适
  • 文化事业建设费征收范围及计税依据
  • 公司购买理财产品
  • 政府补助的核算内容有哪些
  • 新租赁准则下的会计分录
  • 直接人工费用属于产品成本吗
  • 普通发票上的银行账户有规定吗
  • 劳务费走应付职工薪酬
  • 合伙企业法人股东税收
  • 收到国家电网信息但号码不是的
  • 研发费用如何做账
  • 注册资本及构成
  • 当月进货没有认证怎么办
  • 单位定期存单利息如何记账
  • 票据行为为什么不能撤销
  • 邮局的定额发票能报销吗
  • 企业购买国债逆回购怎么操作
  • 带抵扣进项分录
  • 企业应如何降低消费者
  • 固定资产包括哪些东西
  • mysql如何优化性能
  • sql中case when的用法
  • ubuntu x
  • 在windows中如何设置行间距
  • 无法安装osx
  • linuxserver docker
  • win8的控制面板在哪里打开
  • linux怎样使用
  • css样式表实验心得
  • css颜色值正确的表达形式
  • 详解中国女足出线形势
  • Node.js中的construct
  • eclipse创建android项目
  • vbs运行cmd命令
  • python struct库
  • 完美解决usb电涌15秒后关机
  • jquery的实现原理
  • python运行时间的几种方法
  • 税务系统运维应急预案范文
  • 社保欠费税务催缴
  • 广东发票查询真伪网站
  • 留抵税款
  • 怎么注册山东省采购网
  • 企业筹建期间发生的费用应计入什么账户
  • 河南机构改革人员名单
  • 徐州交社保有户口限制吗
  • 武汉代账公司一般怎么收费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设