这里是一个Python代码,用于使用openCV
的VideoCapture
模块读取图像序列(0.jpg ...1052.jpg)。
import cv2
import numpy
cap = cv2.VideoCapture("/path to/RGB/I%04d.jpg",cv2.CAP_IMAGES).
while(1):
ret,frame = cap.read()
cv2.imshow('image',frame)
cv2.waitKey()
print(frame.shape)
我收到此错误
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow.
看起来框架对象是空的!
最佳答案
cap = cv2.VideoCapture("<path>/%04.jpg",cv2.CAP_IMAGES)
重命名要在左侧填充 3 个零的图像,因为 %04 在左侧填充零以保留数字,例如:0001、0002、...、1000 等。
或者我会运行一个 for 循环,从 1, 2, ..., n 迭代,并从那里捕获 img 名称,然后使用以下命令进行图像读取:
import cv2
import numpy
# Make sure range starts correctly.
nbrofpictures = 1000
for x in range(1, nbrofpictures):
#make sure path is correct.
path = '/<yourpath>/%d.jpg' % x
print (path)
frame = cv2.imread(path)
cv2.imshow('image',frame)
cv2.waitKey()
print(frame.shape)
关于python - 使用 VideoCapture 读取图像序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49117586/