Как сшить два изображения, используя связанные точки? - PullRequest
0 голосов
/ 07 сентября 2018

Итак, вот мой код, я вижу, что могу сшить изображение, рисуя спички, но линии совпадений перезаписываются на изображениях, я просто хотел получить простое сшитое изображение, есть ли способ сделать это? Вот код:

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


Вместо того, чтобы получать подобное изображение со спичками, я хотел получить изображение, которое прошито через спички, но не отображает эти совпадения.

...