cv2.LUT 色彩替换
主要用于灰度图像转换为彩色图像,自定义色谱映射表 lut,详细说明见下面代码。
对于 cv2.LUT(src, lut, dst)
参数说明:
src: ndarray(M x N x k, dtype=np.uint8)
lut: ndarray(1 x 256 x k, dtype=np.uint8)
# 色彩替换,LUT 的参数 src 和 lut 最后一维要相等,对于灰度图像进行通道复制。
# 输入:img_rgba: MxNx4;lut_rgba: 1x256x4, RGBA格式
img_lut_bgra = cv2.LUT(src=img_rgba, lut=lut_rgba)
# 由于 opencv 默认色彩格式为 BGRA,因此需要转换为 RGBA,才能显示正常
img_lut_rgba = cv2.cvtColor(img_lut_bgra, cv2.COLOR_BGRA2RGBA)
# 显示
cv2.imshow('img_lut', img_lut_rgba)
# 保存
cv2.imwrite(f'img_rgba.png', img_lut_rgba)
第三个参数没有详细研究,比较清楚的欢迎留言交流。