自适应阈值声明错误OpenCV Python

时间:2018-11-01 11:33:08

标签: python opencv

在python opencv中使用自适应阈值时出现以下错误。我已经成功地将rgb图像转换为灰度,但是自适应阈值仍然不起作用

代码:

gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 3, 1)

错误:

cv2.error: OpenCV(3.4.2) D:\Build\OpenCV\opencv-3.4.2\modules\imgproc\src\thresh.cpp:1524: error: (-215:Assertion failed) src.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) in function 'cv::adaptiveThreshold'

1 个答案:

答案 0 :(得分:2)

我能想象的是您的imggray的numpy数组不是dtype np.uint8的。这可能导致此错误,因为我已经使用有效的图像输入img = np.zeros((100, 100, 3), dtype=np.uint8)运行了您的脚本,并且可以正常工作。