小编Erh*_*han的帖子

如何在OpenCv中使用单应矩阵拼接两个图像?

我想在 OpenCv 中使用单应矩阵拼接两个全景图像。我找到了 3x3 单应矩阵,但无法拼接两个图像。我必须手动缝合两个图像(没有内置功能)。这是我的代码:

import cv2
import numpy as np

MIN_MATCH_COUNT = 10

img1 = cv2.imread("pano1/cyl_image00.png")
img2 = cv2.imread("pano1/cyl_image01.png")

orb = cv2.ORB_create()

kp1, des1 = orb.detectAndCompute(img1, None)
kp2, des2 = orb.detectAndCompute(img2, None)

FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm=FLANN_INDEX_KDTREE, trees=5)
search_params = dict(checks=50)

flann = cv2.FlannBasedMatcher(index_params, search_params)

des1 = np.float32(des1)
des2 = np.float32(des2)

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

goodMatches = []

for m, n in matches:
    if m.distance < 0.7 * n.distance:
        goodMatches.append(m)

src_pts = 0
dst_pts = 0
if …
Run Code Online (Sandbox Code Playgroud)

python opencv computer-vision homography image-stitching

4
推荐指数
1
解决办法
1万
查看次数