繁体   English   中英

使用opencv和python的简单图像拼接问题

[英]Simple image stitching issue using opencv and python

我目前正在尝试使用OpenCV构建能够将多个图像拼接在一起的简单图像拼接器。 我写(复制)了这段简单的代码作为我的起点。

现在,如果我选择缝合foo,doo和roo,则可以将其缝合。 但是当我引入eoo时,出现了一个问题,并且出现了这个错误。

问题是我什至找不到关于此错误意味着什么的迹象? 我认为这可能是内存问题,但是即使我缝合了3张包含eoo的图像,我仍然会遇到问题。

我正在使用的图像是4.jpg 5.jpg 6.jpg 7.jpg

错误如下

[ INFO:0] Initialize OpenCL runtime...
OpenCV Error: Insufficient memory (Failed to allocate 1612986244 bytes) in OutOfMemoryError, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/alloc.cpp, line 55
OpenCV Error: Assertion failed (u != 0) in create, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/matrix.cpp, line 436
Traceback (most recent call last):
  File "new.py", line 10, in <module>
    result = stitcher.stitch((foo,doo,eoo))
cv2.error: /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/matrix.cpp:436: error: (-215) u != 0 in function create
import cv2

stitcher = cv2.createStitcher(False)

foo = cv2.imread("4.jpg")
doo = cv2.imread("5.jpg")
eoo = cv2.imread("6.jpg")
roo = cv2.imread("7.jpg")

result = stitcher.stitch((foo,doo,eoo))

cv2.imshow("camera",result[1])
cv2.waitKey(10000)

可能有帮助的一项潜在变化是使用OpenCV的GPU支持,通过cv2.createStitcher(True)改善图像拼接管道的性能。 我无法复制您的错误消息,因为使用任何图像组合都可以创建成功的缝合图像。

在此处输入图片说明

import cv2

stitcher = cv2.createStitcher(True)

foo = cv2.imread("4.jpg")
doo = cv2.imread("5.jpg")
eoo = cv2.imread("6.jpg")
roo = cv2.imread("7.jpg")

result = stitcher.stitch((foo,doo,eoo,roo))

cv2.imshow("camera",result[1])
cv2.waitKey(0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM