1. 读入图像
读入一般都是作为程序的开始,在opencv中,有以下几种的读入方式
img = cv2.imread(img_path, flag)
其中是一个标记位,取值从-1到3,也有对应的宏定义。
CV_LOAD_IMAGE_UNCHANGED – 在每个通道中,每个像素的位深为8 bit,通道数(颜色)保持不变。
CV_LOAD_IMAGE_GRAYSCALE – 位深=8 bit 通道数=1(颜色变灰)
CV_LOAD_IMAGE_COLOR -位深=?, 通道数=3
CV_LOAD_IMAGE_ANYDEPTH – 位深不变 ,通道数=?
CV_LOAD_IMAGE_ANYCOLOR – 位深=?, 通道数不变
由于默认情况下是以8通道BGR彩色图像的模式读入,即使是灰度图像,使用该方法得到的也是彩色图像。
由于这种方法即使没有读入到图像也不会报错,而是返回一个空矩阵,所以可以通过在每次读入图像后,判断矩阵是否为空来防止bug的产生。
2. 灰度化
gray_image = cv2.cvtColor(image, cv2