运用matlab编写一个能计算一张图像直方图的程序和直方图均衡的程序,输出均衡前后的直方图和前后变换的图像
时间: 2024-02-01 10:15:37 浏览: 66
以下是基于MATLAB的直方图计算和直方图均衡化程序:
直方图计算程序:
```matlab
img = imread('image.jpg'); % 读取图像
grayImg = rgb2gray(img); % 将图像转换为灰度图像
histogram = imhist(grayImg); % 计算灰度图像的直方图
bar(histogram); % 绘制直方图
```
直方图均衡化程序:
```matlab
img = imread('image.jpg'); % 读取图像
grayImg = rgb2gray(img); % 将图像转换为灰度图像
equalizedImg = histeq(grayImg); % 进行直方图均衡化
subplot(2,2,1); imshow(grayImg); title('原图像'); % 显示原图像
subplot(2,2,2); bar(imhist(grayImg)); title('原图像直方图'); % 绘制原图像的直方图
subplot(2,2,3); imshow(equalizedImg); title('均衡化后图像'); % 显示均衡化后的图像
subplot(2,2,4); bar(imhist(equalizedImg)); title('均衡化后直方图'); % 绘制均衡化后的直方图
```
运行以上代码可以得到均衡化前后的直方图和图像。
阅读全文