首页 > 解决方案 > 使用 cv2 从相机捕获视频会打印出满是零的矩阵

问题描述

我正在尝试使用 python 中的 cv2 从网络摄像头捕获数据,但是当我打印帧时,所有矩阵仅包含零值。摄像头正在工作,它正在显示视频,没有黑屏。

这是代码

import cv2

video = cv2.VideoCapture(0)
a = 0

while True:
    a = a + 1
    check, frame = video.read()
    print(frame)
    cv2.imshow("Capturing", frame)
    key = cv2.waitKey(1)
    if key == ord('q'):
       break

video.release()
cv2.destroyAllWindows()

这就是输出的样子

标签: pythonvideo-capturecv2

解决方案


我测试了你的代码,它对我有用。

我建议:

  • 每 n 打印一帧,例如 (100)
  • 冲洗打印,以便您可以在捕获时看到帧的打印

因此,尝试将打印行更改为:

if a%100 == 0: print(frame, flush = True)

推荐阅读