首页 > 解决方案 > Opencv 问题 - imshow() 命令无法正常工作

问题描述

我对 opencv 模块有一个奇怪的问题。我从一个名为 Sentdex 的 youtuber 上复制了代码。(https://youtu.be/Jvf5y21ZqtQ)出于某种原因,它对他有用,但对我无效。还要提一下我是这个模块的新手,所以我正在努力学习它。如果有人有想法,如果您能帮助我,我将非常感激。这是代码:

import cv2
import numpy as np

cap = cv2.VideoCapture(1)

while True:
    ret, frame = cap.read()
    cv2.imshow('frame', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

这是事件日志:

C:\Users\PC\AppData\Local\Programs\Python\Python38-32\python.exe "C:/Users/PC/Documents/Codes/Python/Open cv/Face recognitio.py" Traceback(最近一次通话最后): 文件“C:/Users/PC/Documents/Codes/Python/Open cv/Face recognitio.py”,第 8 行,在 cv2.imshow('frame', frame) cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow '

进程以退出代码 1 结束

标签: python-3.xopencvvideo-capturecv2

解决方案


cv2.VideoCapture(1)仅当您连接了两台摄像机时才能进行设置。用它替换这条线cv2.VideoCapture(0)为我解决了问题


推荐阅读