用matlab编写函数(function)实现图像的均衡化和规定化,以pollen.jpg为例;
时间: 2024-02-25 19:57:20 浏览: 143
好的,以下是用 MATLAB 编写的函数实现图像的均衡化和规定化的代码,以 pollen.jpg 为例:
```matlab
% 定义函数
function [output1, output2] = Image_Histogram_Equalization_and_Specification(input_img, ref_img)
% input_img: 待处理的图像
% ref_img: 参考图像
% 读入图像
I = imread(input_img);
ref_I = imread(ref_img);
% 均衡化处理
J = histeq(I);
% 规定化处理
K = histeq(I, imhist(ref_I));
% 显示图像
figure;
subplot(2,2,1); imshow(I); title('原始图像');
subplot(2,2,2); imhist(I); title('原始图像直方图');
subplot(2,2,3); imshow(J); title('均衡化后的图像');
subplot(2,2,4); imhist(J); title('均衡化后的直方图');
figure;
subplot(2,2,1); imshow(I); title('原始图像');
subplot(2,2,2); imhist(I); title('原始图像直方图');
subplot(2,2,3); imshow(K); title('规定化后的图像');
subplot(2,2,4); imhist(K); title('规定化后的直方图');
% 输出结果
output1 = J;
output2 = K;
end
```
使用方法:
1. 将上述代码保存为 `Image_Histogram_Equalization_and_Specification.m` 文件。
2. 在 MATLAB 命令窗口中输入 `Image_Histogram_Equalization_and_Specification('pollen.jpg', 'ref_img.jpg')`,其中 `'pollen.jpg'` 为待处理的图像,`'ref_img.jpg'` 为参考图像。
3. 程序会输出处理后的图像和直方图,并返回处理后的图像矩阵。
阅读全文