python导入一幅灰度图像灰度级0-255将其灰度范围分为20层然后用cold模式进行彩色化
以下是Python代码,实现了导入一幅灰度图像,将其灰度范围分为20层,然后用cold模式进行彩色化。
import cv2
import numpy as np
# 导入灰度图像
gray_img = cv2.imread('gray_image.jpg', cv2.IMREAD_GRAYSCALE)
# 将灰度范围分为20层
gray_range = np.linspace(0, 255, 21)
# cold模式的RGB颜色值
cold_colors = [(0, 0, 255), (0, 51, 255), (0, 102, 255), (0, 153, 255), (0, 204, 255),
(0, 255, 255), (102, 255, 255), (153, 255, 255), (204, 255, 255), (255, 255, 255)]
# 创建一个空的彩色图像
color_img = np.zeros((gray_img.shape[0], gray_img.shape[1], 3), dtype=np.uint8)
# 对每个像素进行彩色化
for i in range(gray_range.size - 1):
mask = cv2.inRange(gray_img, gray_range[i], gray_range[i+1]-1)
color_img[..., 0] += np.uint8(mask > 0) * cold_colors[i][0]
color_img[..., 1] += np.uint8(mask > 0) * cold_colors[i][1]
color_img[..., 2] += np.uint8(mask > 0) * cold_colors[i][2]
# 显示彩色图像
cv2.imshow('Color Image', color_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个代码中,我们首先导入了一幅灰度图像,并将其灰度范围分为20层。然后,我们定义了cold模式的RGB颜色值,并创建了一个空的彩色图像。接下来,我们对每个像素进行彩色化,使用cv2.inRange函数将像素值范围映射到相应的RGB颜色值。最后,我们显示了彩色图像
原文地址: https://www.cveoy.top/t/topic/cIOj 著作权归作者所有。请勿转载和采集!