MATLAB直方图均衡化代码
时间: 2023-07-23 16:42:59 浏览: 111
下面是一个简单的 MATLAB 直方图均衡化的代码示例:
```matlab
% 读取图像并转换为灰度图像
img = imread('example.jpg');
gray = rgb2gray(img);
% 计算灰度直方图
histogram = imhist(gray);
% 计算累积分布函数
cdf = cumsum(histogram) / numel(gray);
% 进行直方图均衡化
equalized = uint8(255 * cdf(double(gray) + 1));
% 显示原始图像和均衡化后的图像
figure;
subplot(1,2,1), imshow(gray), title('原始图像');
subplot(1,2,2), imshow(equalized), title('均衡化后的图像');
```
这段代码首先读取一张彩色图像,将其转换为灰度图像。然后,计算灰度直方图并计算其累积分布函数。最后,将原始图像中的每个像素值映射到新的像素值,以产生均衡化的图像。最后,使用 `imshow` 函数显示原始图像和均衡化后的图像。
阅读全文