位置: 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可以用AR地图吗(荣耀30pro可以用120w快充吗)

    荣耀30pro可以用AR地图吗(荣耀30pro可以用120w快充吗)

  • 小米mix3手写输入法怎么设置(小米 手写输入)

    小米mix3手写输入法怎么设置(小米 手写输入)

  • 华为手机动态锁屏怎么弄(华为手机动态锁屏怎么设置)

    华为手机动态锁屏怎么弄(华为手机动态锁屏怎么设置)

  • 只记得qq号其他都不知道怎么找回密码(只记得qq号其他账号)

    只记得qq号其他都不知道怎么找回密码(只记得qq号其他账号)

  • 华为手机有分身功能吗(华为手机有分身隐藏功能吗)

    华为手机有分身功能吗(华为手机有分身隐藏功能吗)

  • 苹果手机不震动了是哪里坏了(怎么让苹果手机不震动)

    苹果手机不震动了是哪里坏了(怎么让苹果手机不震动)

  • 魅族强制关机怎么弄(强制关机魅族手机)

    魅族强制关机怎么弄(强制关机魅族手机)

  • 手机模型可以用吗(手机模型可以用不)

    手机模型可以用吗(手机模型可以用不)

  • 三星无法接通微信电话(三星无法接听电话怎么回事)

    三星无法接通微信电话(三星无法接听电话怎么回事)

  • 佳能相机黑屏怎么恢复(佳能相机黑屏怎么解决)

    佳能相机黑屏怎么恢复(佳能相机黑屏怎么解决)

  • 路由器上网口令是什么(路由器上网口令和密码是什么)

    路由器上网口令是什么(路由器上网口令和密码是什么)

  • 苹果id绑定不了支付方式(苹果id绑定不了qq邮箱)

    苹果id绑定不了支付方式(苹果id绑定不了qq邮箱)

  • 怎么关闭震动(怎么关闭震动声音苹果14)

    怎么关闭震动(怎么关闭震动声音苹果14)

  • linux系统的主要特点(linux系统的主要组成部分)

    linux系统的主要特点(linux系统的主要组成部分)

  • ipv4地址的分类有哪些(ipv4地址种类)

    ipv4地址的分类有哪些(ipv4地址种类)

  • 苹果手机上的通讯录怎么弄到另一个手机上(苹果手机上的通讯录怎么删除)

    苹果手机上的通讯录怎么弄到另一个手机上(苹果手机上的通讯录怎么删除)

  • qq轮船多久会掉(qq轮船多久出来)

    qq轮船多久会掉(qq轮船多久出来)

  • 域名系统的作用(域名系统的作用包括)

    域名系统的作用(域名系统的作用包括)

  • 苹果11首次充电充多久(苹果11首次充电需要关机吗)

    苹果11首次充电充多久(苹果11首次充电需要关机吗)

  • 抖音极速版怎么发布视频(抖音极速版怎么赚钱 一天能赚多少)

    抖音极速版怎么发布视频(抖音极速版怎么赚钱 一天能赚多少)

  • 苹果xs max耳机插孔在哪里(苹果xs max的耳机)

    苹果xs max耳机插孔在哪里(苹果xs max的耳机)

  • 抖音作品未通过审核(抖音作品未通过审核怎么删除)

    抖音作品未通过审核(抖音作品未通过审核怎么删除)

  • 快剪辑录屏(快剪辑录屏的小视频看不了)

    快剪辑录屏(快剪辑录屏的小视频看不了)

  • sort命令  对文件内容进行排序(sort文件名)

    sort命令 对文件内容进行排序(sort文件名)

  • python如何检测pygame中的碰撞(Python如何检测两个相同的列表)

    python如何检测pygame中的碰撞(Python如何检测两个相同的列表)

  • 企业所得税广告费30%扣除
  • 福利费的进项税额会计分录
  • 民营医院所得税如何计算
  • 以房抵债如何计算契税?
  • 奖金算不算工资薪金所得
  • 投资入股变更股权比例
  • 冲红退税流程
  • 餐饮业加计递减怎么算
  • 公司为员工购买社保证明
  • 固定资产未入固定资产账
  • 个人购买房产是指什么
  • 境外企业国内签订合同如何缴纳印花税?
  • 持有至到期投资改名为
  • 通过无偿取得的成果
  • 发票认证了还能退回吗
  • 公司注册资本会留存多少
  • 印花税减免性质代码和项目名称小规模
  • 如何申报固定资产投资
  • 通用机打发票能报销不
  • 应交增值税出口退税科目怎么结平
  • 出租无形资产收到的租金
  • 建筑行业暂估成本的账务处理
  • 新办企业税务办理
  • 第三方派遣劳务不续签补偿金哪边出
  • 如何调用金三接口?
  • 出纳人员怎么核对现金日记账?
  • 小规模收入未达50万
  • 可转换公司债券账务处理
  • 银行存款转定期存款计入什么科目
  • 投资入股的无形资产要摊销吗
  • 企业转让股票交什么税费呢
  • 如何关闭win10专业版自动更新
  • 按揭贷款到账时间
  • linux系统中文输入法切换不出来
  • php proto
  • 塞巴斯蒂安电影 豆瓣
  • 存货的采购成本包括
  • 股东借款产生的利息可以税前扣除吗
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • 补差价如何做账
  • 员工报销发票怎么做账
  • 小规模纳税人季度不超30万免增值税
  • 点云入门
  • 刚刚学完小车可以学摩托车吗
  • cd oobe是什么命令
  • 深究Python中的asyncio库-线程同步
  • 餐饮发票归哪个部门管
  • 供应商的质量扣款应该开什么发票
  • 为什么结转材料成本差异
  • 预缴所得税年底处理账务吗
  • 收到的加盟费要交税吗
  • 保洁服务属于
  • 无偿调出固定资产应计入什么
  • 库存现金账实不符怎么处理
  • 研发费用加计扣除的条件
  • 以前年度损益调整是什么意思
  • 增值税进项发票抵扣期限是多少天?
  • 投资者投入无形资产的入账价值
  • sql以级联的方式删除表
  • win10 性能选项
  • solaris ssh offline
  • 微软补丁星期二更新吗
  • 系统如何修改
  • os x10.11el capitan beta4更新了什么?os x10.11el capitan beta4下载地址
  • Win7系统如何清理本地硬盘
  • -f linux命令
  • javascript HTML5 Canvas实现圆盘抽奖功能
  • 安卓手机微信取消窗口化
  • java面试题简书
  • unity项目流程
  • 浏览器工作机制
  • unity3d ui
  • 键盘事件有三个 分别是
  • 关闭计算机盖的功能
  • 四川省电子税务局官网下载
  • 购置税完税证明在哪里打印
  • 直辖市税务局
  • 免抵税额在增值税申报表附表
  • 怀化市税务局领导
  • 重庆投诉平台电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设