遇到一个问题在用OpenCV的cv2.imread()函数读取灰度图像后,打印出的图像却是3通道的彩图,查阅cv2.imread()函数的相关文档如下:
imread(img_path,flag) 读取图片,返回图片对象 img_path: 图片的路径,即使路径错误也不会报错,但打印返回的图片对象为None flag:cv2.IMREAD_COLOR,读取彩色图片,图片透明性会被忽略,为默认参数,也可以传入1 cv2.IMREAD_GRAYSCALE,按灰度模式读取图像,也可以传入0 cv2.IMREAD_UNCHANGED,读取图像,包括其alpha通道,也可以传入-1
从上可知cv2.imread()函数在读取图像时默认的flag是1,也就是默认读取三通道彩图,因此在读取灰度图时也读取成了彩图,所以在读取灰度图时应当指定flag为0.