python - !_src.empty() 在函数 'cv::cvtColor' imgproc\src\color.cpp:182
问题描述
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
解决方案
先检查视频捕获帧是否成功检索,例如:
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
推荐阅读
- postman - 如何使用邮递员绕过 cloudflare 身份验证?
- python - 使用 python 和 selenium 从主页中提取所有 youtube 视频 url
- combinatorics - 瓮问题的泛化——三个子集的交集
- coordinates - 通过坐标查找正射影像
- php - 从数据库中获取特定日期之前的所有记录
- javascript - 在js中对文本文件进行采样
- hibernate - 如何从存储库中查找所有 DTO
- android - 无法通过 viewmodel 向 JOE64 graphview 库显示数据
- sql-server - SSIS DataFlow 文件到表加载非常缓慢
- ios - 离子电容器 - IOS 上的 FCM 推送通知 - 未调用 pushNotificationReceived 侦听器