图像增强和复原python
时间: 2023-12-15 09:32:49 浏览: 124
基于提供的引用内容,以下是关于图像增强和复原的Python库和方法的介绍:
图像增强:
1. 使用PIL库进行图像增强,例如调整图像大小、旋转、裁剪、亮度、对比度、锐度等。示例代码如下:
```python
from PIL import Image, ImageEnhance
# 打开图像
image = Image.open('example.jpg')
# 调整亮度
enhancer = ImageEnhance.Brightness(image)
image_brightened = enhancer.enhance(1.5) # 增加1.5倍亮度
# 调整对比度
enhancer = ImageEnhance.Contrast(image)
image_contrasted = enhancer.enhance(1.5) # 增加1.5倍对比度
# 调整锐度
enhancer = ImageEnhance.Sharpness(image)
image_sharpened = enhancer.enhance(2.0) # 增加2倍锐度
# 保存图像
image_brightened.save('example_brightened.jpg')
image_contrasted.save('example_contrasted.jpg')
image_sharpened.save('example_sharpened.jpg')
```
2. 使用OpenCV库进行图像增强,例如直方图均衡化、滤波、边缘检测等。示例代码如下:
```python
import cv2
# 读取图像
image = cv2.imread('example.jpg')
# 直方图均衡化
image_equalized = cv2.equalizeHist(image)
# 高斯滤波
image_blurred = cv2.GaussianBlur(image, (5, 5), 0)
# 边缘检测
image_canny = cv2.Canny(image, 100, 200)
# 显示图像
cv2.imshow('Equalized Image', image_equalized)
cv2.imshow('Blurred Image', image_blurred)
cv2.imshow('Canny Image', image_canny)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
图像复原:
1. 使用scikit-image库进行图像复原,例如去噪、去模糊等。示例代码如下:
```python
from skimage import restoration, io
# 读取图像
image = io.imread('example.jpg')
# 去噪
image_denoised = restoration.denoise_tv_chambolle(image, weight=0.1)
# 去模糊
image_deblurred = restoration.unsupervised_wiener(image, kernel_size=3)
# 显示图像
io.imshow(image_denoised)
io.imshow(image_deblurred)
io.show()
```
2. 使用OpenCV库进行图像复原,例如去噪、去模糊等。示例代码如下:
```python
import cv2
# 读取图像
image = cv2.imread('example.jpg')
# 去噪
image_denoised = cv2.fastNlMeansDenoisingColored(image, None, 10, 10, 7, 21)
# 去模糊
image_deblurred = cv2.GaussianBlur(image, (5, 5), 0)
# 显示图像
cv2.imshow('Denoised Image', image_denoised)
cv2.imshow('Deblurred Image', image_deblurred)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文