图片清晰度增强python
时间: 2023-05-24 07:05:42 浏览: 367
要增强图像的清晰度,可以尝试使用以下python库:
1. OpenCV:可以使用其图像调整功能,如USM(Unsharp Masking)算法,进行锐化处理。
2. Scikit-image:它提供了许多图像增强算法,如直方图均衡、对比度增强等。
3. PIL(Python Imaging Library):提供了一些基本的图像处理函数,例如对比度、亮度调整。
以下是使用OpenCV的USM算法对图像进行锐化处理的示例代码:
```python
import cv2
import numpy as np
# 加载图像
img = cv2.imread('image.jpg')
# 构建高斯核函数
gaussian_3 = cv2.GaussianBlur(img, (9,9), 0)
gaussian_2 = cv2.GaussianBlur(img, (5,5), 0)
# 进行差分操作
img_sharp = cv2.addWeighted(gaussian_2, 1.5, gaussian_3, -0.5, 0)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Sharpened Image', img_sharp)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
此代码将图像模糊处理,然后将模糊后的图像与原图像进行混合,得到锐化处理的图像。可以尝试调整两个核的大小和权重,看看对图像清晰度的影响。
使用Scikit-image对图像进行对比度增强的示例代码:
```python
from skimage import exposure, io
# 加载图像
img = io.imread('image.jpg', as_gray=True)
# 进行对比度增强
img_eq = exposure.equalize_hist(img)
# 显示图像
io.imshow(img)
io.imshow(img_eq)
io.show()
```
此代码使用直方图均衡化算法对图像进行对比度增强。可以尝试使用不同的算法和参数,例如CLAHE (Contrast Limited Adaptive Histogram Equalization),看看对图像清晰度的影响。
使用PIL库对图像进行亮度和对比度的调整示例代码:
```python
from PIL import Image, ImageEnhance
# 加载图像
img = Image.open('image.jpg')
# 调整亮度
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(1.5)
# 调整对比度
enhancer = ImageEnhance.Contrast(img_bright)
img_contrast = enhancer.enhance(1.5)
# 显示图像
img.show()
img_bright.show()
img_contrast.show()
```
此代码使用了PIL库提供的ImageEnhance模块对图像进行亮度和对比度的调整。可以尝试调整增强的程度,看看对图像清晰度的影响。