4

我试图用 OpenCV 缝合器缝合图像。

图像中的某些馈送具有先前处理留下的一些黑色区域,它们在拼接时会引起一些麻烦。

第一张图片

第二张图片

第三张图片

第四张图片

我的代码是这样的:

import numpy as np
import cv2
import os
import glob
import argparse

parser = argparse.ArgumentParser(description='Stitch several images.')

parser.add_argument("-i","--inputfiles", type = str, help = "the input files", nargs='+')
parser.add_argument("-o","--outputfiles", type = str, help = "the output files")

args = parser.parse_args()

print "input: " + str(args.inputfiles)
print "potential output: " + args.outputfiles

stitcher = cv2.createStitcherScans(True)
arrayOfImage = []    
for imageName in args.inputfiles:
    arrayOfImage.append(cv2.imread(imageName))
stitchingResult = stitcher.stitch(arrayOfImage)    
cv2.imwrite(args.outputfiles,stitchingResult[1])

我使用命令

python stitchingImages.py -i 1.png 2.png 3.png 4.png -o result.png

来测试它。

结果是 结果

我认为问题在于黑色区域被认为是强特征。有没有办法将它们从特征检测和混合中排除?

4

0 回答 0