代码之家  ›  专栏  ›  技术社区  ›  TheSHETTY-Paradise

OpenCV错误:(-215:断言失败)函数“CvtHelper”中的VScn::contains(scn)和&VDcn::contains(dcn)和&VDepth::contains(depth)

  •  0
  • TheSHETTY-Paradise  · 技术社区  · 7 年前
    Traceback (most recent call last):
    File "demo.py", line 132, in 
         `result = find_strawberry(image)`
    File "demo.py", line 63, in find_strawberry
    `image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)`
    cv2.error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'
    

    问题来源: llSourcell/Object_Detection_demo_LIVE

    1 回复  |  直到 6 年前
        1
  •  15
  •   Júlio Guedes    7 年前

    image = image.astype('uint8')
    

    看看这个 Kaggle Kernel 了解更多信息

        2
  •  2
  •   pissall    6 年前

    grayscale colored 自从 cv2.COLOR_BGR2GRAY 无法转换已经存在的图像

        3
  •  2
  •   Ahmadiah    6 年前

    我在做极线几何(找到下面的链接),我有这个问题。我通过以下两种方法之一解决了这个错误:

    -保持原色: A.我通过从cv2.imread中删除zero参数来加载图像的原始颜色(在我的例子中是RGB)。

    img1 = cv2.imread('image.jpg') 
    

    B.您可能需要编辑图像的形状,因为它是RGB

    r, c,_ = img1.shape 
    

    C.注释转换

    # img1 = cv2.cvtColor(img1,cv2.COLOR_GRAY2BGR)
    

    第二种方法 -转换为灰度图像: A.我通过在cv2.imread中添加零参数来加载BGR中的图像。

    img1 = cv2.imread('image.jpg',0) 
    

    B.您可能需要编辑图像的形状,因为它是BGR

    r, c = img1.shape 
    

    img1 = cv2.cvtColor(img1,cv2.COLOR_GRAY2BGR)
    

    如果这两种方法对您不起作用,您可能需要检查以下链接,它们可能会回答您的问题:

    https://github.com/aleju/imgaug/issues/157 https://github.com/llSourcell/Object_Detection_demo_LIVE/issues/6

    https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_calib3d/py_epipolar_geometry/py_epipolar_geometry.html

        4
  •  1
  •   xiawi    6 年前

    img = np.full((512,512,3), 12, np.uint8)
    

    哪里 img