图像预处理降噪增强对比度 代码
时间: 2024-06-23 07:00:56 浏览: 220
图像预处理是一个关键步骤,用于改善图像的质量、增强特征可读性并准备数据输入到机器学习模型中。降噪、增强对比度和预处理通常涉及到以下几个步骤:
1. **降噪** (Noise Reduction):
- 使用滤波器:例如高斯滤波器(gaussian blur)、中值滤波器(median filter)或小波去噪(wavelet denoising)来减少噪声。
- 基于统计的方法:比如均值滤波、自适应阈值方法(如Otsu's方法)。
```python
from skimage import filters
img = ... # 输入图像
denoised_img = filters.gaussian(img, sigma=1) # 使用高斯滤波器降噪
```
2. **增强对比度** (Contrast Enhancement):
- 对比度拉伸:通过线性变换将图像的像素值缩放,使图像细节更明显。
- 自适应直方图均衡化:如CLAHE (Contrast Limited Adaptive Histogram Equalization),局部区域均衡化避免全局均匀化导致的过度强化细节。
```python
from skimage.exposure import equalize_adapthist
img = ... # 输入图像
contrast_enhanced_img = equalize_adapthist(img)
```
3. **色彩空间转换** (Color Space Conversion):
- 有时可能需要从彩色转换到灰度(如二值化操作),或者调整颜色空间(RGB -> HSV/ LAB等)。
```python
from skimage.color import rgb2gray, lab2rgb
gray_img = rgb2gray(img)
```
4. **边缘检测和锐化** (Edge Detection & Sharpening):
- 使用Canny、Sobel或Prewitt算子进行边缘检测。
- 锐化操作可通过高斯卷积后减去原图像。
```python
from skimage.feature import canny
edge_img = canny(img)
img_sharpened = cv2.filter2D(img, -1, kernel=np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]])) # 简单锐化
```
阅读全文