灰度图转为伪彩色图像代码,滤波法python
时间: 2024-12-23 17:24:44 浏览: 5
灰度图像转换成伪彩图像通常涉及到色彩增强和映射的过程。Python中的`PIL`库(Pillow)是一个常用工具,可以处理这类操作。以下是一个简单的例子,我们将使用OpenCV和PIL库:
```python
from PIL import Image
import cv2
def grayscale_to_pseudocolor(gray_image_path):
# 读取灰度图像
gray_img = cv2.imread(gray_image_path, cv2.IMREAD_GRAYSCALE)
# 创建空白伪彩色图像,假设我们想要三通道RGB
pseudocolor_img = np.zeros((gray_img.shape[0], gray_img.shape[1], 3), dtype=np.uint8)
# 将灰度值映射到彩色空间,这里可以用直方图均衡化来增加对比度,然后转换
eq_hist = cv2.equalizeHist(gray_img)
pseudocolor_img[:, :, 0] = eq_hist # R通道赋值为灰度值
pseudocolor_img[:, :, 1:] = cv2.cvtColor(eq_hist.reshape(-1, 1), cv2.COLOR_GRAY2BGR)[:-1] # G和B通道保持一致
# 使用PIL显示结果
pil_img = Image.fromarray(pseudocolor_img)
pil_img.show()
# 示例用法
grayscale_to_pseudocolor('path_to_your_grayscale_image.jpg')
```
在这个代码中,首先读取灰度图像并创建一个与之大小相同的RGB图像。然后使用直方图均衡化增强对比度,并将灰度值分配给红色通道,绿色和蓝色通道保持不变。最后,将处理后的图像转换回PIL格式并显示。
阅读全文