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