python opencv屏幕找图,Opencv找到了屏幕上不存在的图像

本文介绍了如何使用Python的OpenCV库进行屏幕找图操作,通过matchTemplate方法计算图像与模板的相似度,并利用minMaxLoc找到最佳匹配位置。在模板匹配过程中,设置了阈值来判断模板是否存在于图像中。示例代码展示了如何处理找不到模板的情况,并给出了实际应用的例子。
摘要由CSDN通过智能技术生成

R=cv2.matchTemplate(I,T,method)计算图像{}。此图像的每个像素x,y表示一个标记,这取决于模板T与从x,y开始的I的子图像之间的相似性。例如,如果应用方法cv.TM_SQDIFF,则标记的计算如下:

ba55f5d8880c80b6afb2545a915be6e5.gif

如果R[x,y]为空,则子图像I[x:x+sxT,y:y+syT]与模板T完全相同。R[x,y]越小,子图像越接近模板。在cv2.minMaxLoc(R)用于求R的最小值。与I的任何其他子图像相比,I的相应子图像更接近模板。在

如果图像I不包含模板,则与R最小值相对应的I的子图像可能与T非常不同。但最小值反映了这一点!实际上,R上的一个阈值可以作为判断模板是否在图像中的一种方法。

选择阈值的值是一个棘手的任务。它可以是R最大值的一个分数,也可以是R的平均值的一个分数。模板大小的影响可以用R除以sxT*syT来讨论。例如,R的最大值取决于模板大小和图像类型。例如,对于CV_8UC3(无符号字符,3个通道)R的最大值是255*3*sxT*syT。在

下面是一个例子:import cv2

img = cv2.imread('image.jpg',eval('cv2.CV_LOAD_IMAGE_COLOR'))

template = cv2.imread('template.jpg',eval('cv2.CV_LOAD_IMAGE_COLOR'))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值