对给定的灰度(lena.bmp)图像 (1) 进行灰度线性变换,分三段:0-100/0-50,100-200/50-230,200-255/230-255;
时间: 2024-02-15 18:04:35 浏览: 23
好的,我可以帮你解决这个问题。根据你的要求,我将为您提供一份基于Python的代码,用于将灰度图像进行灰度线性变换。代码如下:
```python
import cv2
import numpy as np
# 读取灰度图像
img = cv2.imread('lena.bmp', cv2.IMREAD_GRAYSCALE)
# 灰度线性变换
out = np.zeros_like(img)
# 第一段变换:0-100/0-50
out[img <= 100] = img[img <= 100] * 0.5
out[img > 100] = 50 + (img[img > 100] - 100) * 1
# 第二段变换:100-200/50-230
out[img > 200] = 230 + (img[img > 200] - 200) * 0.25
out[(img > 100) & (img <= 200)] = 50 + (img[(img > 100) & (img <= 200)] - 100) * 1.5
# 第三段变换:200-255/230-255
out[img <= 200] = 230 + (img[img <= 200] - 200) * 0.25
out[img > 200] = 255
# 显示原图和处理后的图像
cv2.imshow('Original', img)
cv2.imshow('Processed', out)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行这段代码,您将得到经过灰度线性变换后的图像。