我试图用 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
来测试它。
结果是 结果
我认为问题在于黑色区域被认为是强特征。有没有办法将它们从特征检测和混合中排除?