• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    OpenCV-Python模板匹配人眼的实例

    什么是模板匹配

    模板匹配是指在当前图像A内寻找与图像B最相似的部分,可以理解找茬,但是这里是找出一样的信息。

    一般我们将图像A称为输入图像,将图像B称为模板图像。模板匹配的原理就是将模板B图像在图像A上滑动遍历,找出与其匹配的部分。

    模板匹配函数

    在OpenCV中,它给我们提供了cv2.matchTemplate()函数来完成模板匹配。其函数的完整定义如下:

    def matchTemplate(image, templ, method, result=None, mask=None):

    image:原始图像

    templ:模板图像

    method:匹配方法。该参数通过TemplateMatchModes实现,如下表所示:

    参数 取值 含义
    cv2.TM_SQDIFF 0 以方差为依据进行匹配。若完全匹配,则结果为0;若不匹配,则会得到一个很大的差值
    cv2.TM_SQDIFF_NORMED 1 标准(归一化)平方差匹配
    cv2.TM_CCORR 2 相关匹配,这类方法将模板图像与输入图像相乘,如果乘积越大,则匹配度较高;如果乘积为0,则表示匹配效果最差
    cv2.TM_CCORR_NORMED 3 标准(归一化)相关匹配
    cv2.TM_CCOEFF 4 相关系统匹配,这类方法将模板图像与其均值的相对值,和输入图像与其均值的相关值进行匹配。1表示完美匹配,-1表示糟糕的匹配,0表示没有任何相关匹配(随机序列)
    cv2.TM_CCOEFF_NORMED 5 标准(归一化)相关系数匹配

    result:返回值。它是由每个位置的比较结果组合所构成的一个结果集,类型是单通道32位浮点型。如果输入图像尺寸是WH,模板尺寸是wh,则返回值的大小为(W-w+1)*(H-h+1)。

    mask:模板图像掩模。它必须与模板图像具有相同类型的大小。通常使用默认值即可。

    实现模板匹配

    首先,我们需要两张图片,这里我们还是选取经常用的美女照片以及截取其眼睛部分作为模板图像,如下:

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread("4.jpg", 0)
    template = cv2.imread("4_1.jpg", 0)
    
    th, tw = template.shape[::]
    
    rv = cv2.matchTemplate(img, template, cv2.TM_SQDIFF)
    min, max, minLoc, maxLoc = cv2.minMaxLoc(rv)
    
    topLeft = minLoc
    bottomRight = (topLeft[0] + tw, topLeft[1] + th)
    cv2.rectangle(img, topLeft, bottomRight, 255, 2)
    
    plt.subplot(121)
    plt.imshow(template, cmap="gray")
    plt.axis('off')
    plt.subplot(122)
    plt.imshow(img, cmap="gray")
    plt.axis('off')
    plt.show()
    

    运行之后,效果如下:

    附录:

    模板图


    原图

    到此这篇关于OpenCV-Python模板匹配人眼的实例的文章就介绍到这了,更多相关OpenCV 模板匹配 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • opencv-python图像配准(匹配和叠加)的实现
    • Opencv Python实现两幅图像匹配
    • Python使用Opencv实现图像特征检测与匹配的方法
    • Python和OpenCV进行多尺度模板匹配实现
    • OpenCV-Python实现多模板匹配
    • python基于OpenCV模板匹配识别图片中的数字
    • Python开发之基于模板匹配的信用卡数字识别功能
    • Python+Opencv实现图像匹配功能(模板匹配)
    上一篇:健身房被搭讪?用python写了个小米计时器助人为乐
    下一篇:OpenCV-Python实现图像平滑处理操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    OpenCV-Python模板匹配人眼的实例 OpenCV-Python,模板,匹配,人眼,