Ess*_*sex 6 python opencv computer-vision surf sift
我写了一个小脚本,可以在全局图片中找到一个对象SIFT descriptors method.但我对同一张照片中的多个检测有疑问.
我有这张全球图片:
我有这个模板:
我的脚本看起来像:
import numpy as np
import cv2
#########################
# SIFT descriptors part #
#########################
img1 = cv2.imread('/Users/valentinjungbluth/Desktop/SIFT:SURF Algo/lampe.jpg',0)
img2 = cv2.imread('/Users/valentinjungbluth/Desktop/SIFT:SURF Algo/ville.jpg',0)
# Initiate SIFT detector
sift = cv2.xfeatures2d.SIFT_create()
print (img1.dtype)
print (img2.dtype)
kp1, des1 = sift.detectAndCompute(img1,None)
kp2, des2 = sift.detectAndCompute(img2,None)
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1,des2,k=2)
good = []
for m,n in matches :
if m.distance < 0.2*n.distance :
good.append([m])
img3 = cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,None,flags=2)
cv2.imwrite('matches.jpg',img3)
Run Code Online (Sandbox Code Playgroud)
结果是:
我的问题是:
我怎么能发现这个其他的灯?因为所有灯都非常相似,我想与图片中的所有灯匹配.
非常感谢 !
编辑与Micka的回答:
0.2比例距离没有出现,但如果我放0.75:
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |