首页 > 解决方案 > 使用 OpenCV 将 BGR 转换为 RGB 时出现断言错误

问题描述

所以基本上我将图像从 BGR(由 OpenCV 使用)转换为 RGB(由 dlib 使用)用于一些图像视觉的东西。

这是一些代码:

for (i, imagePath) in enumerate(imagePaths):
    # load the input image and convert it from RGB (OpenCV ordering)
    # to dlib ordering (RGB)
    image = cv2.imread(imagePath)
    rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)`

我得到了 OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor错误rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

完整的错误是cv2.error: /home/Ben/opencv-3.2.0/modules/imgproc/src/color.cpp:9716: error: (-215) scn == 3 || scn == 4 in function cvtColor

通常我知道这些错误是由不正确的图像路径引起的,但是我用不同的图片运行了相同的代码,所以它一定是图片的问题。

查看图片属性,我能看到的唯一区别是不起作用的图片是 1080x1920,而起作用的图片是各种尺寸,例如 512x440 或 291x512。

我究竟做错了什么?

谢谢,本

标签: pythonpython-3.xopencvimage-processingopencv3.0

解决方案


推荐阅读