赞
踩
我正在逐帧读取视频,使用:
vc = cv2.VideoCapture('test.avi')
稍后,我将使用以下方法检查是否已读取frame:if vc.isOpened():
rval,frame = vc.read()
else:
rval = False
现在的问题是,如果我尝试使用以下代码将这个frame转换为numpy数组:PILImage = Image.fromstring("L",cv.GetSize(frame),frame.tostring())
NumPyArray = np.array(PILImage)
我有个错误说:
CvArr argument 'arr' must be IplImage, CvMat or CvMatND. Use fromarray() to convert numpy arrays to CvMat or cvMatND
从VideoCapture::read的文档中,我发现它返回两个东西[retVal,Image]。如何仅获取Image部分以及如何将其转换为Numpy数组?
进一步信息:
基本上,这样做的目的是,我试图编写一个程序,它允许我通过按空格键遍历视频的每一帧,并从任何帧中选择一个特定区域,然后将其保存为jpg。代码如下:from ITMS import ITMS
import cv2
from cv2 import cv
import numpy as np
import matplotlib.pyplot as plt
i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。