如何解决在 numpy 数组中读取 12 位灰度视频
我正在尝试读取 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 举报,一经查实,本站将立刻删除。