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

【传统视觉】模板匹配和卡尺圆检测

模板匹配 粗定位

1、原理:模板匹配是指在当前图像A中匹配与图像B最相似的部分,那么A为输入图像,B为模板图像。
2、匹配方法:B在A上华东,逐个遍历所有像素完成匹配。
3、函数:

result = cv2.matchTemplate(image, templ, method[,mask]);
返回值:一个结果集。类型是单通道32位浮点型其中image为图像A,templ为模板(图像B),method为匹配方法;
method = 0-5 总共六种方法
参数值对应数值解释
cv2.TM_SQDIFF0以方差为依据,进行匹配,result值为0表示匹配度最好,值越大,表示匹配度越差
cv2.TM_SQDIFF_NORMED1标准(归一化)平方差匹配
cv2.TM_CCORR2A与B的像素点相乘,较大则匹配度较高,result的值越小表示匹配度越差,值越大表示匹配度越好
cv2.TM_CCORR_NORMED32的归一化
cv2.TM_CCOEFF4模板图像B与A均值的相关性匹配,1表示完美匹配,-1表示垃圾匹配,0表示没得关系
cv2.TM_CCOEFF_NORMED54的归一化

4、配合查找最值方式来找到匹配的位置

minVal,maxVal,minLoc,maxLoc=cv2.minMaxLoc(src[,mask])
src:为单通道数组。
minVal:为返回的最小值,如果没有最小值,则可以是NULL(空值)。
maxVal:为返回的最大值,如果没有最小值,则可以是NULL。
minLoc:为最小值的位置,如果没有最大值,则可以是NULL。
maxLoc:为最大值的位置,如果没有最大值,则可以是NULL。
mask:为用来选取掩模的子集,可选项

示例:

rv = cv2.matchTemplate(img, template, cv2.TM_SQDIFF)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(rv)

卡尺找圆 精细定位

卡尺的原理:
是找N个小矩形ROI里面的灰度值突变的地方。即:遍历每个小矩形ROI,分别找到1个点,这个点是灰度突变的峰值。然后把这N个点拟合成直线或者圆。

http://www.lryc.cn/news/96171.html

相关文章:

  • 记一次简单的MySql注入试验
  • 软考开发思考(完善中)
  • [NLP]LLaMA与LLamMA2解读
  • 后端一次返回大量数据,前端做分页处理
  • 卷积神经网络识别人脸项目—使用百度飞桨ai计算
  • vue中预览静态pdf文件
  • Java多进程(详细)
  • OpenCV 4.0+Python机器学习与计算机视觉实战
  • 自学网络安全(黑客)全笔记
  • WAF/Web应用安全(拦截恶意非法请求)
  • Windows环境下git客户端中的git-bash和MinGW64
  • 欧姆龙CX系列PLC串口转以太网欧姆龙cp1hplc以太网连接电脑
  • Vue3笔记
  • git相关
  • 车道线检测|利用边缘检测的原理对车道线图片进行识别
  • C++—static关键字详解
  • CS144学习笔记(1):Internet and IP
  • 2 Linux基础篇-Linux入门
  • 分享200+个关于AI的网站
  • 静态 链接
  • 【C#性能】C# 语言中的数组迭代
  • 全志F1C200S嵌入式驱动开发(解决spi加载过慢的问题)
  • 信息系统项目管理师(第四版)教材精读思维导图-第三章信息系统治理
  • 区间预测 | MATLAB实现基于QRF随机森林分位数回归多变量时间序列区间预测模型
  • 五步快速搭建个性化外卖小程序商城
  • jenkins中配置了发送邮件,构建后却没有发邮件Not sent to the following valid addresse
  • 装箱问题(背包问题)
  • 【C++】总结4-this指针
  • go压力测试
  • 【计算机网络】socket编程基础