人脸检测-----模板匹配(11)

模板匹配:

相关概念

  • 模板匹配就是在整个图像区域发现与给定子图像匹配的最小区域。
  • 所要一个模板图像及待检测图像。
  • 工作方法:在模板上,从左至右、从上到下,计算模板图像与重叠自图像的匹配度,匹配都越大,两者相同的可能性越大。
  • 度量方法:相关性、平方、相关因子
  • 提高效率的方法:通过积分图、及FFT、IFFT转换计算领大幅度提高运算效率。

代码实操:

def template_demo():
    tpl = cv.imread("E:/picture/tpl.jpg") #template --- 模板
    target = cv.imread("E:/picture/text1.jpg");
    cv.imshow("template image",tpl );
    cv.imshow("taget image", target);
    methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED];
    th, tw = tpl.shape[0:2];
    for md in methods:
        print(md);
        result = cv.matchTemplate(target, tpl, md);
        #result里储存的是在相应度量公式下参照模板计算得到的结果,每一个像素点都会有其对应的一个值。
        min_val, max_val, max_loc, min_loc = cv.minMaxLoc(result);
        if md == cv.TM_SQDIFF_NORMED:
            tl = min_loc; ##top left;
        else:
            tl = max_loc;
        br = (tl[0] + tw, tl[0] + th);
        cv.rectangle(target, tl, br, (0, 0, 255), 2);
        cv.imshow("match-"+np.str(md), target);
  • matchTemplate()及 minMaxLoc():
    在这里插入图片描述
    - rectangle():
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值