我有一个固定相机,可以快速拍摄连续移动的产品的照片,但处于相同角度(平移视角)的固定位置。我需要将所有图像拼接成全景图。我尝试过使用 Stitcher 类。它有效,但计算时间很长。我还尝试使用另一种方法,即使用 SIFT 检测器 FNNbasedMatcher,查找单应性,然后扭曲图像。如果我只使用两个图像,此方法效果很好。对于多个图像,它仍然无法正确缝合它们。有谁知道这种情况下最好、最快的图像拼接算法?
这是我使用 Stitcher 类的代码。
import time
import cv2
import os
import numpy as np
import sys
def main():
# read input images
imgs = []
path = 'pics_rotated/'
i = 0
for (root, dirs, files) in os.walk(path):
images = [f for f in files]
print(images)
for i in range(0,len(images)):
curImg = cv2.imread(path + images[i])
imgs.append(curImg)
stitcher = cv2.Stitcher.create(mode= 0)
status ,result = stitcher.stitch(imgs)
if status != cv2.Stitcher_OK:
print("Can't stitch images, error code = %d" % …Run Code Online (Sandbox Code Playgroud) python opencv image-processing computer-vision image-stitching