出错问题
filepath = "lenagray.jpg"
gray = cv2.imread(filepath)
print(gray)
print("数据类型:",type(gray)) #打印数组数据类型
print("数组元素数据类型:",gray.dtype) #打印数组元素数据类型
print("数组元素总数:",gray.size) #打印数组尺寸,即数组元素总数
print("数组形状:",gray.shape) #打印数组形状
print("数组的维度数目:",gray.ndim) #打印数组的维度数目
用cv2.imread读取一张灰度图像,gray中却有三个通道,运行结果如下:
数据类型: <class 'numpy.ndarray'>数组元素数据类型: uint8数组元素总数: 1440000数组形状: (600, 800, 3)数组的维度数目: 3
正确读取灰度图
解决方法:cv.imread读取灰度图像需要加入特定的参数:gray = cv2.imread(filepath,cv2.IMREAD_GRAYSCALE)
数据类型: <class 'numpy.ndarray'>
数组元素数据类型: uint8
数组元素总数: 480000
数组形状: (600, 800)
数组的维度数目: 2
注:cv2.IMREAD_GRAYSCALE的宏定义是0,不同版本的opencv可能名称不一样,也可以用
gray = cv2.imread(filepath,0)
参考:https://blog.csdn.net/qq_27403925/article/details/105323100
本文暂时没有评论,来添加一个吧(●'◡'●)