Я пытался сшить изображения с помощью брошюровщика 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
, чтобы проверить его.
Результат Результат
Я думаю, что проблема в том, что черные области признаны сильными чертами.Есть ли способ исключить их из функции обнаружения и смешивания?