编写程序使用matlab:使用线性函数对“lena_gray.tif”图片进行点运算灰度压缩并显示,然后对处理后的图像进行直方图均衡化并进行显示。
时间: 2024-05-09 14:14:43 浏览: 155
用MATLAB写的图像处理,直方图,灰度拉伸,均衡化代码
5星 · 资源好评率100%
以下是使用MATLAB编写的程序,实现了对“lena_gray.tif”图片进行点运算灰度压缩和直方图均衡化的功能。
```matlab
% 读取图像
img = imread('lena_gray.tif');
% 显示原始图像
subplot(2,2,1);imshow(img);title('Original Image');
% 灰度压缩
a = 1.5; % 压缩因子
img_comp = imadjust(img,[],[],a);
% 显示压缩后的图像
subplot(2,2,2);imshow(img_comp);title('Compressed Image');
% 直方图均衡化
img_eq = histeq(img_comp);
% 显示均衡化后的图像
subplot(2,2,3);imshow(img_eq);title('Equalized Image');
% 显示均衡化前后的直方图
subplot(2,2,4);imhist(img_comp);hold on;imhist(img_eq);legend('Before','After');
```
运行该程序后,会显示原始图像、灰度压缩后的图像、直方图均衡化后的图像以及压缩前后的直方图对比。可以根据需要自行调整压缩因子a的大小。
阅读全文