基于点运算的图像增强方法,根据图中所述几种对图像的拉伸操作编写相应代码。 图像均匀变亮、变暗 区间线性变化 亮区均匀变化 区域外低灰度值 区域外0值 区域外灰度值不变
时间: 2024-09-30 21:06:51 浏览: 53
基于点运算的图像增强主要通过像素级别的操作来改变图像的亮度、对比度或局部特性。这里是一个简单的Python代码示例,使用PIL(Python Imaging Library)库来进行图像增强操作:
```python
from PIL import ImageEnhance, Image
# 加载图像
img = Image.open('input_image.jpg')
# 创建增强对象
enhancer_brightness = ImageEnhance.Brightness(img)
enhancer_contrast = ImageEnhance.Contrast(img)
# 图像均匀变亮(增加亮度)
brightened_img = enhancer_brightness.enhance(1.2) # 增加20%亮度,1.0为不变,大于1.0变亮,小于1.0变暗
# 图像均匀变暗(减少亮度)
darkened_img = enhancer_brightness.enhance(0.8) # 减少20%亮度
# 区间线性变化(例如,将图像像素值映射到新范围)
def linear_transform(image, old_min, old_max, new_min, new_max):
pixels = image.getdata()
for pixel in pixels:
pixel = int(((pixel - new_min) + new_min)
yield pixel
transformed_img = Image.new(img.mode, img.size)
transformed_img.putdata(linear_transform(img, 0, 255, 50, 150))
# 亮区均匀变化(仅改变指定区域的亮度)
selected_region = img.crop((x1, y1, x2, y2)) # 选择区域
region_enhanced = enhancer_brightness.enhance(1.5) # 变亮150%
selected_region.paste(region_enhanced, mask=selected_region.split()[3]) # 使用Alpha通道进行合并
# 区域外低灰度值(高对比度效果)
outside_mask = Image.eval(img, lambda p: 0 if p < 128 else 255) # 分割黑白二值
img_outside = img.point(lambda p: 10 if p > 128 else p) # 高灰度值,其他不变
# 区域外0值(全黑背景)
black_bg = Image.eval(img, lambda p: 0 if p < 128 else 255)
img_outside = black_bg.point(lambda p: 0 if p > 128 else p)
# 存储结果
brightened_img.save('brightened_img.jpg')
darkened_img.save('darkened_img.jpg')
transformed_img.save('linear_transformed_img.jpg')
selected_region.save('selected_region.jpg')
img_outside.save('outside_low_gray.jpg')
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)