灰度图像处理是彩色眼底图像处理中经常要遇到的,cv2有标准的彩色转灰色通道的函数。为了自用,特意编了一个函数。
输入参数:包括 彩色源图像,通道标签:r、g、b、all。
返回:灰度处理后的图像
如掩膜图像通过红色通道取得,图像增强时通过绿色通道获得。
代码如下:
def my_adaptive_gray(img_rgb,channel):
cv2.imshow("agin", img_rgb)
row = img_rgb.shape[0]
col = img_rgb.shape[1]
gray = np.zeros((row, col), np.uint8)
if channel == 'r':
gray[:, :] = img_rgb[:, :, 0]
elif channel == 'g':
gray[:, :] = img_rgb[:, :, 1]
elif channel == 'b':
gray[:, :] = img_rgb[:, :, 2]
else:
gray[:, :] = 0.2989 *img_rgb[:, :, 0] + 0.5870 * img_rgb[:, :, 1] + 0.1140 * img_rgb[:, :, 2]
cv2.imshow("agout", gray)
return gray