matlab中图像增强的算法直方图均衡
时间: 2023-10-09 19:15:29 浏览: 38
直方图均衡是一种常用的图像增强方法,可以使图像的对比度增强,细节更加清晰。在Matlab中,可以使用imhist和histeq函数实现直方图均衡。
首先,使用imread函数读取图像,并将图像转换为灰度图像:
```
img = imread('image.jpg');
gray_img = rgb2gray(img);
```
然后,使用imhist函数计算灰度图像的直方图:
```
[counts, bins] = imhist(gray_img);
```
接着,使用cumsum函数计算直方图的累积分布函数:
```
cdf = cumsum(counts) / numel(gray_img);
```
使用histeq函数进行直方图均衡化:
```
eq_img = histeq(gray_img);
```
最后,使用imshow函数显示原图像和增强后的图像:
```
subplot(1,2,1);
imshow(gray_img);
title('Original Image');
subplot(1,2,2);
imshow(eq_img);
title('Enhanced Image');
```
完整代码如下:
```
img = imread('image.jpg');
gray_img = rgb2gray(img);
[counts, bins] = imhist(gray_img);
cdf = cumsum(counts) / numel(gray_img);
eq_img = histeq(gray_img);
subplot(1,2,1);
imshow(gray_img);
title('Original Image');
subplot(1,2,2);
imshow(eq_img);
title('Enhanced Image');
```