查找轮廓时断言失败

时间:2018-10-15 08:55:00

标签: python opencv

我在这里遇到以下错误:

error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

这是我的代码

def detectBoxes(img):
    image = np.asarray(img)
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    gradient = cv2.Laplacian(gray, cv2.CV32F)
    kernel = np.ones((15,15),np.uint8)
    closing = cv2.morphologyEx(gradient, cv2.MORPH_CLOSE, kernel)
    closing = cv2.cvtColor(closing, cv2.COLOR_BGR2GRAY)
    im2, cnts, hier = cv2.findContours(closing, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

我认为是因为findContours需要另一种颜色转换,但是我不确定是哪种颜色转换。 这里有什么线索吗?谢谢

1 个答案:

答案 0 :(得分:0)

@ZdaR在评论中说:

  

这是因为cv2.findContours()期望图像没有浮点值,但是您的关闭似乎是32位浮点类型,您可以通过close.dtype来确认,如果是,那么请将其转换为uchar类型在传递到findcontours之前,使用闭合= np.astype(np.uint8)。