Matlab图像处理-灰度拉伸原理方法

 时间:2026-02-12 07:26:50

1、打开图像

[FileName, FilePath]=uigetfile('*.tif;*.jpg;*.png;*.img;*.gif;','请选择图像数据');

str=[FilePath FileName];

Image=imread(str);

% 以对话框的形式选择打开一幅图像

[M,N,nDims]=size(Image);

Image=im2double(Image);

% 获取图像的尺寸和波段数

2、灰度拉伸

ImageStretch=Image;

for i=1:nDims  % 对每个波段依次进行灰度拉伸

    Sp=Image(:,:,i);

    MaxDN=max(max(Sp));

    MinDN=min(min(Sp));

    Sp=(Sp-MinDN)/(MaxDN-MinDN);  % 灰度拉伸公式

    ImageStretch(:,:,i)=Sp;

end

% 将灰度拉伸结果保存在ImageStretch中

3、保存输出

figure,  % 在同一窗口显示原图与灰度拉伸结果图

if nDims==3||nDims==1  % 若为灰度图和RGB真彩色图则以常规方式保存并输出

    subplot(1,2,1),imshow(Image);title('原图');

    subplot(1,2,2),imshow(ImageStretch);title('灰度拉伸');

    imwrite(ImageStretch,'Result_Stretch.jpg','jpeg');

else  % 若为多波段遥感影像则按照TM 3,2,1组合形式保存并输出

    subplot(1,2,1),imshow(Image(:,:,[3,2,1]));title('原图');

    subplot(1,2,2),imshow(ImageStretch(:,:,[3,2,1]));title('灰度拉伸');

    imwrite(ImageStretch(:,:,[3,2,1]),'Result_Stretch.tif','tiff');

end

% 将拉伸结果保存至当前目录并以Result_Stretch命名

1、灰度图拉伸结果对比

上图:原灰度图

下图:灰度拉伸结果

Matlab图像处理-灰度拉伸原理方法

Matlab图像处理-灰度拉伸原理方法

2、RGB真彩色图拉伸结果对比

上图:原RGB真彩色图

下图:灰度拉伸结果

Matlab图像处理-灰度拉伸原理方法

Matlab图像处理-灰度拉伸原理方法

3、多波段遥感影像拉伸结果对比

上图:原多波段遥感影像(TM321组合)

下图:灰度拉伸结果(TM321组合)

Matlab图像处理-灰度拉伸原理方法

Matlab图像处理-灰度拉伸原理方法

  • Matlab App Designer基本使用之旋钮
  • 如何在matlab中并排图像?
  • 如何获取MATLAB种数组的类型
  • matlab如何实现图像灰度拉伸?
  • Matlab GUI中的Menu(菜单)怎么添加
  • 热门搜索
    不排卵是什么原因 转归是什么意思 什么是中国传统文化 aud是什么货币 psi是什么意思 什么是通假字 二是什么意思 凡尔赛什么梗 gprs是什么 什么是外汇