问题描述:
运行程序报错:cv2.error: C:\ci\opencv_1512688052760\work\modules\imgproc\src\thresh.cpp:1402: error: (-215) src.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) in function cv::threshold
报错代码为:
ret1, th1 = cv2.threshold(img, 0.5, 1, cv2.THRESH_OTSU) # 方法选择为THRESH_OTSU
原因分析:
我这里的img不是直接读图得到的矩阵,而是通过一些运算的得到的值为0-1的矩阵,把矩阵的值修改为0~255即可
解决方案:
代码改为:
ret1, th1 = cv2.threshold((img * 255).astype('uint8'), 0, 255, cv2.THRESH_OTSU)