问题描述
我正在尝试读取 12 位灰度视频 720×720
放入一个像 arrayname[framecount,720,1]
这样的数组,其中最后一个维度从 0 到 212 变化,因为它是一个 12 位灰度视频。
这是我目前所做的(基于 ivan_onys 的 Stack Overflow 的另一个代码):
cap = cv2.VideoCapture("video.avi")
frCount = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
frWidth = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frHeight = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(frCount,frWidth,frHeight)
imgbuf = np.empty((frCount,frHeight,3),np.dtype('uint8'))
fc = 0
retVal = True
while (fc < frCount and ret):
retVal,imgbuf[fc] = cap.read()
fc += 1
cap.release()
print(imgbuf.shape) #dim = frames,height,width,channels(bgr)
这会将我的视频读取为 RGB 视频,但我希望它是灰度的并且不会丢失信息。
我阅读了文档,但它只是告诉我 VideoCapture
这个:cv.VideoCapture(filename,apiPreference,params)
,我真的不明白 apiPreference
是什么以及是否有适合于此的参数我没看到。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)