用matlab代码对一个灰度图像进行线性变换pout.png,首先利用imhist观察图像的直方图,然后利用imadjust函数对图像0%到30%灰度值区间内的像素值映射到0~100%之间。超过[0,30%]这个区间的灰度值被映射为0和100%灰度值这两个值。
时间: 2023-11-28 21:49:29 浏览: 226
基于matlab图像灰度值的线性变换
5星 · 资源好评率100%
下面是针对pout.png图像进行线性变换的MATLAB代码:
```matlab
% 读取灰度图像
I = imread('pout.png');
% 显示原始图像
subplot(2,2,1);
imshow(I);
title('Original Image');
% 绘制原始图像的直方图
subplot(2,2,2);
imhist(I);
title('Histogram of Original Image');
% 对图像进行线性变换
J = imadjust(I,[0.3 1],[0 1],0.5);
% 显示变换后的图像
subplot(2,2,3);
imshow(J);
title('Adjusted Image');
% 绘制变换后的图像的直方图
subplot(2,2,4);
imhist(J);
title('Histogram of Adjusted Image');
```
上述代码中,使用imread函数读取pout.png图像,并使用subplot函数将原始图像、直方图、变换后的图像和变换后图像的直方图显示在一个窗口中。然后使用imadjust函数对图像进行线性变换,将0~30%的灰度值区间映射到0~100%之间,超过该区间的灰度值被映射为0和100%。最后使用imhist函数绘制变换后的图像的直方图。
阅读全文