在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'
答案 0 :(得分:2)
我能想象的是您的img
和gray
的numpy数组不是dtype np.uint8
的。这可能导致此错误,因为我已经使用有效的图像输入img = np.zeros((100, 100, 3), dtype=np.uint8)
运行了您的脚本,并且可以正常工作。