如何使用相关关键点拼接两个图像?

时间:2018-09-07 17:34:20

标签: python-3.x numpy image-processing opencv3.0 cv2

这是我的代码,我看到我可以通过绘制火柴来缝合图像,但是火柴线被覆盖在图像上,我只想拥有一个普通的缝合图像,有什么办法吗? 这是代码:

import numpy as np
import cv2
img1=cv2.imread('11.png')
img2=cv2.imread('12.png')
sift = cv2.xfeatures2d.SIFT_create()
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.75*n.distance:
        good.append([m])

img3 = cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,None,flags=2)
cv2.imshow('i',img3)

这是两张图片,这是输出:

结果(其中不希望有行):

Result

第一个:

First image to be stitched

第二个:

Seocnd image to be stitched

我想要得到的东西:

Image I actually want to create


我不想获得带有火柴的图像,而是想要获得通过火柴缝合但不显示那些火柴的图像。

0 个答案:

没有答案