[英]How to match trained image with multiple query images in OpenCV Python
我想设计一个图像处理程序,在其中可以检测并匹配手势。 我基本上需要做的是将查询图像与多个训练有素的图像进行匹配,并返回最佳匹配。 下面的代码是两个单一手势的实现。
import cv2 as cv
sift = cv.xfeatures2d.SIFT_create()
bf = cv.BFMatcher()
original_img = cv.imread('./database/bb.jpg', cv.IMREAD_GRAYSCALE)
query_img = cv.imread('./database/b.jpg', cv.IMREAD_GRAYSCALE)
kp1,des1 = sift.detectAndCompute(original_img , None)
kp2, des2 = sift.detectAndCompute(query_img ,None)
matches = bf.knnMatch( des1, des2, k=2 )
good = []
for m,n in matches:
if m.distance < 0.75 * n.distance:
good.append ( [m] )
new_img = cv.drawMatchesKnn(original_img, kp1, query_img, kp2, good, None, flags=2)
cv.imshow('matches' , new_img)
k = cv.waitKey(0)
cv.destroyAllWindows()
您安装了OpenCV3,并且代码需要为每个匹配项评分。 这是使用opencv3匹配每对图像的链接 。 使用上述功能,您可以获取每对图像特征的匹配项。 当然,您需要评估比赛并给每个比赛打分,然后对它们进行排序。 我认为每次比赛的链接得分都可以为您提供帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.