python图像增强代码
时间: 2024-06-11 08:02:05 浏览: 23
Python图像增强是指通过对图像进行一系列处理,以达到改善图像质量或提取图像特征的目的。常见的图像增强方法包括亮度调整、对比度增强、直方图均衡化、滤波等。
下面是一个使用Python进行图像增强的示例代码:
```python
import cv2
# 读入图片
img = cv2.imread('example.jpg')
# 将图片转为灰度图
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对比度增强
alpha = 1.5
beta = 10
contrast_img = cv2.convertScaleAbs(gray_img, alpha=alpha, beta=beta)
# 直方图均衡化
equalized_img = cv2.equalizeHist(gray_img)
# 显示图片
cv2.imshow('Original Image', img)
cv2.imshow('Contrast Enhanced Image', contrast_img)
cv2.imshow('Equalized Image', equalized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码中,使用了OpenCV库读取图片并将其转为灰度图。接着,对比度增强使用了`convertScaleAbs`函数,直方图均衡化使用了`equalizeHist`函数。最后,使用`imshow`函数显示了原始图片、对比度增强后的图片和直方图均衡化后的图片。
相关问题
msr图像增强代码python
以下是使用MSRCP算法进行图像增强的Python代码:
```python
import cv2
import numpy as np
def MSRCP(img, scales=[15, 101, 301], sigma=[5, 15, 25], chroma=True):
img = img.astype(np.float32)
if chroma:
img_yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
img_yuv[:, :, 0] = cv2.equalizeHist(img_yuv[:, :, 0].astype(np.uint8))
img = cv2.cvtColor(img_yuv, cv2.COLOR_YUV2BGR)
else:
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img = cv2.equalizeHist(img.astype(np.uint8))
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
for i in range(len(scales)):
for j in range(len(sigma)):
img_blur = cv2.GaussianBlur(img, (scales[i], scales[i]), sigma[j])
img_detail = img - img_blur
img_detail = cv2.normalize(img_detail, None, 0, 255, cv2.NORM_MINMAX)
img_detail = np.uint8(img_detail)
img = cv2.add(img, img_detail)
return np.uint8(np.clip(img, 0, 255))
# 示例
img = cv2.imread('example.jpg')
img_enhanced = MSRCP(img)
cv2.imshow('Enhanced Image', img_enhanced)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
图像增强python代码
下面是一个简单的图像增强示例代码,使用Python和OpenCV库:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 直方图均衡化
equalized = cv2.equalizeHist(gray)
# 高斯滤波
blurred = cv2.GaussianBlur(equalized, (5, 5), 0)
# 显示图像
cv2.imshow('Original', img)
cv2.imshow('Equalized', equalized)
cv2.imshow('Blurred', blurred)
# 等待按键
cv2.waitKey(0)
# 关闭窗口
cv2.destroyAllWindows()
```
这个示例使用了直方图均衡化和高斯滤波两种常见的图像增强方法。可以根据需要修改代码中的参数来实现不同的效果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)