编写matlab程序实现图像的的读入、显示、统计原图像灰度级像素个数、计算原始直方图、计算累计直方图、计算变换后的灰度值、进行灰度值变换、显示图像
时间: 2023-10-08 16:13:03 浏览: 126
下面是一个简单的 Matlab 程序,可以实现图像的读入、显示、统计原图像灰度级像素个数、计算原始直方图、计算累计直方图、计算变换后的灰度值、进行灰度值变换、显示图像。
```matlab
% 读入图像
img = imread('lena.png');
% 显示原图像
figure; imshow(img); title('原图像');
% 统计原图像灰度级像素个数
num_pixels = numel(img);
% 计算原始直方图
hist_original = imhist(img);
% 计算累计直方图
cumulative_hist = cumsum(hist_original);
% 进行灰度值变换
transformed_img = histeq(img);
% 显示变换后的图像
figure; imshow(transformed_img); title('变换后的图像');
% 计算变换后的灰度值
hist_transformed = imhist(transformed_img);
% 显示原始直方图、累计直方图、变换后的直方图
figure;
subplot(2,2,1); imhist(img); title('原始直方图');
subplot(2,2,2); plot(cumulative_hist); title('累计直方图');
subplot(2,2,3); imhist(transformed_img); title('变换后的直方图');
```
注意,这只是一个简单的示例程序,实际应用中可能需要进行更多的处理和优化。
阅读全文