opencv学习与使用:图像匹配

本文介绍了使用OpenCV进行图像匹配的方法,从差分矩阵求和开始,探讨了如何处理图像噪声,引入了差分矩阵均值算法,并进一步讨论了在大量噪声情况下欧氏距离算法的应用。文章通过实例代码展示了每种算法的效果,并提供了匹配阈值的建议。
摘要由CSDN通过智能技术生成

1.差分矩阵求和

numpy使用指南[菜鸟教程]http://www.runoob.com/numpy/numpy-tutorial.html
opencv使用指南[官方文档]http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
实现差分矩阵的算法
差分矩阵求和算法的核心在于差分矩阵,实质为差异矩阵。
计算公式为:差分矩阵=图像A矩阵数据-图像B矩阵数据
首先,计算两个图像的矩阵数据之间差异分析图像的相似性;然后,设置一个阈值进行比较,如果差分矩阵的所有元素之和在阈值以内,则表示这两张图像是相似的,且描述了同一物体。

def showpiclocation(img,findimg):
    # 定位图像
    w = img.shape[1]
    h = img.shape[0]
    fw = findimg.shape[1]
    fh = findimg.shape[0]
    findpt = None
    for now_h in range(0,h-fh):
        for now_w in range(0, w-fw):
            comp_tz = img[now_h:now_h+fh,now_w:now_w+fw,:]-findimg
            if np.sum(comp_tz) <1:
                findpt = now_w,now_h
        print('.',)
    if findpt != None:
        print('fw is %d' % fw)
        cv2.rectangle(img, findpt, (findpt[0]+fw, findpt[1]+fh),(255,0,0))
    return img

完整代码如下

#-*- coding:utf-8 -*-
#code:1054263694@qq.com
#Imagelocation.py

import cv2
import numpy as np
print('loading')


def showpiclocation(img,findimg):
    # 定位图像
    w = img.shape[1]
    h = img.shape[0]
    fw 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值