函数'cvtColor'中的OpenCV!_src.empty()错误

Cha*_*wis 20 python opencv

我试图在python中进行基本的颜色转换,但我似乎无法通过以下错误.我已经重新安装了python,opencv,并尝试了python 3.4.3(最新)和python 2.7(在我的Mac上).

我使用python的包管理器opencv-python安装了opencv.

这是失败的代码:

frame = cv2.imread('frames/frame%d.tiff' % count)
frame_HSV= cv2.cvtColor(frame,cv2.COLOR_RGB2HSV)
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

cv2.error: OpenCV(3.4.3) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
Run Code Online (Sandbox Code Playgroud)

小智 38

发生此错误是因为图像未正确加载.所以你的上一行有问题cv2.imread我的建议是:

  • 检查图像是否存在于您提供的路径中

  • 如果他有有效数字,请检查计数变量


Leo*_*iga 16

如果有人在从网络摄像头读取帧时遇到同样的问题:

验证您的网络摄像头是否正在用于其他任务并关闭它。这将解决问题。

当我意识到我的相机在谷歌环聊组中在线时,我花了一些时间来解决这个错误。另外,请确保您的网络摄像头驱动程序是最新的

  • 我喜欢这样的错误;调试的顶峰 (3认同)

小智 10

我也一直收到这个错误:

Traceback (most recent call last):
  File "face_detector.py", line 6, in <module>
    gray_img=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor
Run Code Online (Sandbox Code Playgroud)

我的cv2.cvtColor(...)工作正常,\photo.jpg但与\news.jpg. 对我来说,我终于意识到,当使用 python 在 Windows 上工作时,这些转义字符每次都会得到你!!所以我的“坏”照片因为文件名以“n”开头而被转义。Python 将\n用作转义字符,而 OpenCV 找不到该文件!

解决方案:
在 Windows python 中使用r"...\...\"as in 为文件名做序言

cv2.imread(r".\images\news.jpg")
Run Code Online (Sandbox Code Playgroud)


Gra*_*eji 6

检查路径中是否存在图像并验证图像扩展名(.jpg 或 .png)