灰度化:加快处理速度 黑色到白色直接有不同的颜色深度(0,255),注意与黑白图像的区别
1.直接读成灰度图像
img = cv.imread("image_2.jpg", cv.IMREAD_GRAYSCALE)
2.读入RGB图像,分量法,以某个颜色值作为灰度图像值
img = cv.imread("image_2.jpg", cv.IMREAD_COLOR)
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i, j] =img[i, j, 0]
3.最大值法,以三元色的最大值作为灰度图像值
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i, j] =max(img[i, j, 0],img[i, j, 1],img[i, j, 2])
4.平均值法,以三元色均值作为灰度图像值,注意,越界超过255
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i, j] =(img[i, j, 0]+img[i, j, 1]+img[i, j, 2])/3
5.加权平均法,以0.11 R+0.59G+0.3B比例相加作为灰度图像值
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i, j] =0.11*img[i, j, 0]+0.59*img[i, j, 1]+0.3*img[i, j, 2]
opencv 自带的灰度转换函数
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
opencv 自带的灰度转换函数