!_src.empty() 在函数 'cv::cvtColor' imgproc\src\color.cpp:182
Posted
技术标签:
【中文标题】!_src.empty() 在函数 \'cv::cvtColor\' imgproc\\src\\color.cpp:182【英文标题】:!_src.empty() in function 'cv::cvtColor' imgproc\src\color.cpp:182!_src.empty() 在函数 'cv::cvtColor' imgproc\src\color.cpp:182 【发布时间】:2021-10-06 04:48:05 【问题描述】:PyCharm 中的相机错误。在这种情况下我该怎么办?
import cv2
import numpy as np
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(1)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
cap.set(10,150)
while True:
success, img = cap.read()
cv2.imshow("Result", img)
if cv2.waitKey(1) and 0xFF == ord('q'):
break
C:\Users\user\PycharmProjects\OpenCvPython\venv\Scripts\python.exe C:/Users/user/PycharmProjects/OpenCvPython/chapter7.py
[ WARN:0] global C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-ep71p_ws\opencv\modules\videoio\src\cap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/OpenCvPython/chapter7.py", line 11, in <module>
cv2.imshow("Result", img)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-ep71p_ws\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
Process finished with exit code 1
【问题讨论】:
这能回答你的问题吗? (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor' 【参考方案1】:先检查视频采集帧是否检索成功,例如:
import cv2
import numpy as np
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(1)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
cap.set(10,150)
while True:
success, img = cap.read()
if not success:
print('error retrieving frame')
continue
cv2.imshow("Result", img)
if cv2.waitKey(1) and 0xFF == ord('q'):
break
【讨论】:
这个程序显示“检索帧错误”,所以它没有成功。代码是错误的还是别的什么?例如 Python 的版本,或者我必须在 Python 解释器上添加一些东西。感谢您的宝贵时间! 您的系统上有多少个摄像头?目前您正试图打开索引 1 处的那个,这意味着至少有两个摄像头设置?如果你print(cap.isOpened())
,你会得到什么?什么样的相机?
我有一个摄像头,它是 Logitech C920 USB HD Pro 网络摄像头,带有自动对焦和黑色麦克风。我得到 False 与 print(cap.isOpened()) ,所以相机没有打开?我该怎么做才能使用 Python 的 OpenCV 打开相机。
好的,看起来更大的问题:OpenCV 无法打开您的网络摄像头。通常它应该:我过去使用 OpenCV(C++ 和 Python)多次使用过这个精确模型。这是您系统上唯一的网络摄像头吗?你试过cap = cv2.VideoCapture(0)
吗?你在什么操作系统上使用它,你是如何安装 OpenCV Python 的?以上是关于!_src.empty() 在函数 'cv::cvtColor' imgproc\src\color.cpp:182的主要内容,如果未能解决你的问题,请参考以下文章