python特征点匹配_从特征点检测返回图像中的匹配值

本文介绍了一种基于SIFT特征点检测算法实现的图像匹配方法,并探讨了如何量化两幅图像的相似度。通过特征点匹配并应用比率测试,最终绘制匹配结果。

我使用的是我在教程中发现的一种特征点检测算法,如下所示。此代码的输出是在特征点匹配的两个图像之间绘制的线。在

我想知道的是:有没有一种方法可以返回一些值(浮点值)来确定这两个图像是否几乎相同、有点相似或不相同?在def feature_matching():

img1 = cv2.imread('image1.jpeg', 0)

img2 = cv2.imread('image2.jpeg', 0)

# Initiate SIFT detector

sift = cv2.SIFT()

# find the keypoints and descriptors with SIFT

kp1, des1 = sift.detectAndCompute(img1,None)

kp2, des2 = sift.detectAndCompute(img2,None)

# BFMatcher with default params

bf = cv2.BFMatcher()

matches = bf.knnMatch(des1,des2, k=2)

# Apply ratio test

good = []

for m,n in matches:

if m.distance < 0.75*n.distance:

good.append(m)

#gray1 = cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)

#gray2 = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)

# cv2.drawMatchesKnn expects list of lists as matches.

img3 = drawMatches(img1,kp1,img2,kp2,good)

plt.imshow(img3),plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值