图像增强算法python
时间: 2023-09-16 09:12:16 浏览: 89
Python 中常用的图像增强算法有很多,以下列出几个常用的:
1. 直方图均衡化
直方图均衡化是一种常用的增强算法,它可以将图像的灰度值分布均匀化,增加图像的对比度。在 Python 中,可以使用 OpenCV 库中的 `cv2.equalizeHist()` 函数实现。
```python
import cv2
img = cv2.imread('img.jpg', 0)
img_eq = cv2.equalizeHist(img)
```
2. CLAHE
CLAHE(Contrast Limited Adaptive Histogram Equalization)是一种自适应直方图均衡化算法,它可以避免直方图均衡化过度增强图像噪声的问题。在 Python 中,同样可以使用 OpenCV 库中的 `cv2.createCLAHE()` 函数实现。
```python
import cv2
img = cv2.imread('img.jpg', 0)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
img_clahe = clahe.apply(img)
```
3. 图像平滑
图像平滑可以减少图像的噪声,常用的平滑算法包括高斯滤波、中值滤波等。在 Python 中,可以使用 OpenCV 库中的 `cv2.GaussianBlur()` 或 `cv2.medianBlur()` 函数实现。
```python
import cv2
img = cv2.imread('img.jpg')
img_blur = cv2.GaussianBlur(img, (5,5), 0) # 高斯滤波
img_median = cv2.medianBlur(img, 5) # 中值滤波
```
4. 锐化
图像锐化可以增强图像的边缘和细节,常用的锐化算法包括拉普拉斯算子、Sobel 算子等。在 Python 中,可以使用 OpenCV 库中的 `cv2.filter2D()` 函数实现。
```python
import cv2
import numpy as np
img = cv2.imread('img.jpg', 0)
kernel = np.array([[-1,-1,-1],[-1,9,-1],[-1,-1,-1]])
img_sharp = cv2.filter2D(img, -1, kernel)
```
以上是常用的几种图像增强算法的 Python 实现,可以根据需要选择合适的算法进行使用。
阅读全文