位置: IT常识 - 正文

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

发布时间:2024-01-17
【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 有什么项目)

  • word设置文字环绕方式(word2019文字环绕在哪里设置)

    word设置文字环绕方式(word2019文字环绕在哪里设置)

  • 快手礼物幸运草怎么送(快手礼物幸运星怎么触发特效)

    快手礼物幸运草怎么送(快手礼物幸运星怎么触发特效)

  • 通话转接对方知道吗(通话被转接)

    通话转接对方知道吗(通话被转接)

  • iphone7p换电池后遗症(iphone7p换电池后有什么影响)

    iphone7p换电池后遗症(iphone7p换电池后有什么影响)

  • 荣耀x10什么时候上市(荣耀x10什么时候出pro)

    荣耀x10什么时候上市(荣耀x10什么时候出pro)

  • 华为畅享10e指纹在哪里设置(华为畅享10e指纹解锁在哪里)

    华为畅享10e指纹在哪里设置(华为畅享10e指纹解锁在哪里)

  • 微信运动加不上好友怎么办(微信运动加不上好友)

    微信运动加不上好友怎么办(微信运动加不上好友)

  • hsyv5e是千兆网线吗(hsyv-5是千兆吗)

    hsyv5e是千兆网线吗(hsyv-5是千兆吗)

  • qq升级到皇冠要多少天(qq升级到皇冠有什么不一样)

    qq升级到皇冠要多少天(qq升级到皇冠有什么不一样)

  • ipada1567是ipad几代(ipad型号a1567是多少寸)

    ipada1567是ipad几代(ipad型号a1567是多少寸)

  • 苹果11在哪插耳机(苹果11在哪插耳机线)

    苹果11在哪插耳机(苹果11在哪插耳机线)

  • 对方关机微信能语音吗(对方关机微信能定位吗)

    对方关机微信能语音吗(对方关机微信能定位吗)

  • 苹果11充电发烫正常吗(苹果11充电发烫卡顿)

    苹果11充电发烫正常吗(苹果11充电发烫卡顿)

  • ios6怎么设密码(苹果六如何设置密码)

    ios6怎么设密码(苹果六如何设置密码)

  • lcd是什么意思啊(手机材质lcd是什么意思啊)

    lcd是什么意思啊(手机材质lcd是什么意思啊)

  • 文档被锁定只读了怎么解除(文档被锁定只读模式怎么解除)

    文档被锁定只读了怎么解除(文档被锁定只读模式怎么解除)

  • 微信群免打扰还响(微信群免打扰还能看到消息吗)

    微信群免打扰还响(微信群免打扰还能看到消息吗)

  • 单反相机怎么充电(单反相机充电要充多久才能充满)

    单反相机怎么充电(单反相机充电要充多久才能充满)

  • 淘宝帮买怎么操作(淘宝帮买功能怎么开启)

    淘宝帮买怎么操作(淘宝帮买功能怎么开启)

  • realme Q支持NFC吗(realmeq3支持nfc吗)

    realme Q支持NFC吗(realmeq3支持nfc吗)

  • qq音乐怎么收藏一首歌(qq音乐怎么收藏别人的喜欢)

    qq音乐怎么收藏一首歌(qq音乐怎么收藏别人的喜欢)

  • 荣耀20支持反向充电吗(荣耀支持反向无线充电吗)

    荣耀20支持反向充电吗(荣耀支持反向无线充电吗)

  • 为什么付款方式无效(为什么付款方式移除不了)

    为什么付款方式无效(为什么付款方式移除不了)

  • 计算机操作的最小单位时间(计算机上机操作)

    计算机操作的最小单位时间(计算机上机操作)

  • 抖音不发布怎么保存到相册(抖音不发布怎么保存到相册且无水印)

    抖音不发布怎么保存到相册(抖音不发布怎么保存到相册且无水印)

  • 纯css实现自定义弹窗(css 自定义变量)

    纯css实现自定义弹窗(css 自定义变量)

  • 什么是税法要素
  • 怎么算毛利润计算公式
  • 旅游大巴怎么计费的
  • 对母公司的其他说法
  • 公司为员工买零食
  • 小微企业减免所得税额是怎么算出来的
  • 个人缴纳工会会费比例
  • 暂存款属于什么费用
  • 烟叶收购方案制定步骤
  • 小规模公司核定增收税可以公账直接打给法人吗?
  • 外出经营许可证办理流程
  • 补偿金申报个所税如何录入?
  • 增值税价外费用如何开票
  • 危险废物处理原则
  • 进项税和销项税月末怎么结转
  • 进项税额大于销项税额怎么办
  • 公司的投资额和实际不符
  • 房地产开发企业资质证书
  • 飞鱼星路由器信号有点差怎么办
  • 赠送的商品怎么入库 企业会计准则
  • win10怎么看已安装的驱动
  • 树木种植公司
  • php递归算法经典实例
  • 建筑业总产值和营业收入相等吗?
  • php中url
  • data.dataloader
  • 解决本地浏览器的方法
  • iframe frame
  • php访问mysql的五个基本步骤
  • 企业收取租金的未开具发票的怎么计算税款
  • 司法拍卖所购的房产
  • CNN+LSTM+Attention实现时间序列预测(PyTorch版)
  • 软件服务费应计入什么
  • php操作步骤
  • 开源项目排行榜
  • php入门基础教程
  • 《visual c++游戏编程基础》
  • git web hook
  • 海关缴款书当月能查到吗
  • 代垫费用开票明细怎么写
  • 会员卡怎样批量生成
  • jsp连接数据库的步骤
  • db2原理
  • 年末财务报表是什么
  • SQL server2008数据不存储,重启后正常
  • 个人独资企业是不是个体工商户
  • 房地产预缴所得税的计税基础
  • 给客户的客户开普票算不算虚开
  • 工资的内容包括很多项
  • 销售折让的会计分录怎么做
  • 异价调拨什么意思
  • 融资租赁增值税的计税依据
  • 固定资产折旧的会计科目
  • 其他应收款如何做坏账处理
  • 租用办公楼的装修协议
  • 原始凭证填制要点在原始凭证上书写阿拉伯数字正确的有
  • 生产成本增加记哪边
  • mysql替换命令
  • solaris 安装
  • Win10预览版拆弹
  • 删除 ubuntu
  • 如何创建一个wifi
  • centos清理缓存
  • xp系统怎么打开开机启动项
  • 缩略图无法显示
  • win7旗舰版系统怎么样
  • 铁嘴王指什么动物
  • cocos2dx4.0教程
  • style js
  • 如何在linux安装软件
  • 常用dos命令详解
  • 关于jquery的事件冒泡,以下描述正确的是
  • js实现省份和市级联动
  • jq form提交
  • 江西省国家税务局总局官网
  • 抓落实韧劲不足的具体表现
  • 小规模纳税人网上申报
  • 南京国税局长是谁
  • 政治部副主任是干嘛的
  • 湖北职称网上申请流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号