opencv - 如何通过openCV用蒙版拼接图像?(仅缝合部分图像)
问题描述
我试图用 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
来测试它。
结果是 结果
我认为问题在于黑色区域被认为是强特征。有没有办法将它们从特征检测和混合中排除?
解决方案
推荐阅读
- php - 为什么要使用 Laravel 的服务容器?
- google-drive-api - Google Drive API Exporting Google Forms 403 权限不足
- python - Appium - 设计页面对象以在 iOS 和 Android 上重用相同的功能
- javascript - 使用jquery发布变量时如何修复“未定义索引”
- python - 如何找到具有 O(n) 复杂度的列表中相同元素的位置差异(对于所有元素)
- c++ - 为什么这里可以使用“删除”?
- python - tf.constant_initializer() 与 tf.global_variables_initializer()
- android - 知道如何解决此 Google Play 政策违规问题吗?
- swagger - 如何使用具有构造函数的开放 api 生成器生成类模型?
- sql - SQL:为其他两列 A 和 B 的成对组合选择列 C 的运行总计