微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenCV:使用 GraphCutSeamFinder 以最佳接缝拼接两张图像

如何解决OpenCV:使用 GraphCutSeamFinder 以最佳接缝拼接两张图像

我一直在用 python 制作一个自动全景拼接器,现在卡在找缝步骤中。 以下是我从 opencv 文档中理解的结构中的代码

im1 = cv2.imread('n3/0.jpg')
im2 = cv2.imread('n3/5.jpg')

c1 = [0,0]
c2 = [5,130] #calculated using ORB feature matching

mask1 = np.full(im1.shape[:2],255)
mask2 = np.full(im2.shape[:2],255)

finder = cv2.detail_GraphCutSeamFinder("COST_COLOR_GRAD")
finder.find([im1,im2],[c1,c2],[mask1,mask2])

这给出了我无法理解的以下错误

cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/include/opencv2/imgproc/detail/gcgraph.hpp:121: error: (-215:Assertion Failed) w>=0 && revw>=0 在函数 'addEdges'

这是我可以设置的最简单的例子,请帮助我做错了什么。

按要求,我正在添加输入图像

n3/0.jpg

n3/0.jpg

n3/5.jpg

n3/5.jpg

UPADTE

通过使用另一种方法,我达到了预期的效果,但我仍然想使用内置函数。请帮忙

resultant image after using the masks

resultant image after using the masks

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。