利用matlab实现SAR 图像线性拉伸显示

5 篇文章 2 订阅
3 篇文章 0 订阅

     SAR 图像是一幅灰度图像,由于极少数点(金属、裸地、建筑)的后向散射太强,而导致SAR图像强度图的值分布范围很广,而图像显示值的分布为[0,255],因此,如果直接显示,将会导致图像颜色很暗,甚至是一片全黑。本博客利用matlab,实现SAR图像线性拉伸,从而更好的展现图像。

      其主要步骤有:S1.根据线性拉伸百分比,找出最小、最大阈值,并将值域外的值重新赋值;S2.图像像素值归一化。

      步骤S1代码:

%       Image       遥感图像矩阵
%       str_per     拉伸百分比*100 
[row, col] = size(Image);               %计算矩阵大小

bou_min = ceil(str_per/100*row*col);    %算出最小边界
bou_max = row*col - bou_min;            %算出最大边界

temp = reshape(Image,1,row*col);        %重新排列-排列,目的是找出阈值
temp = sort(temp);                      %重新排列-排序,目的是找出阈值

VPT_min = double(temp(bou_min));        %最小阈值
VPT_max = double(temp(bou_max));        %最大阈值

Image(Image<VPT_min)=VPT_min;           %将小于阈值的元素赋值为最小阈值
Image(Image>VPT_max)=VPT_max;           %将大于阈值的元素赋值为最大阈值

       步骤S2代码:

I = uint8((255/(VPT_max-VPT_min))*Image);      %图像(像素)归一化
imshow(I)                               %显示

整体代码:

function  Image_Stretching(Image,str_per)
%%  图像拉伸显示函数
%   单位:厦门大学联合遥感接收站
%   作者:胡礼珍
%   函数作用:用于拉伸遥感图像
%   输入:
%       Image       遥感图像矩阵
%       str_per     拉伸百分比*100 
%
[row, col] = size(Image);               %计算矩阵大小

bou_min = ceil(str_per/100*row*col);    %算出最小边界
bou_max = row*col - bou_min;            %算出最大边界

temp = reshape(Image,1,row*col);        %重新排列-排列,目的是找出阈值
temp = sort(temp);                      %重新排列-排序,目的是找出阈值

VPT_min = double(temp(bou_min));        %最小阈值
VPT_max = double(temp(bou_max));        %最大阈值

Image(Image<VPT_min)=VPT_min;           %将小于阈值的元素赋值为最小阈值
Image(Image>VPT_max)=VPT_max;           %将大于阈值的元素赋值为最大阈值

I = uint8((255/(VPT_max-VPT_min))*Image);      %图像(像素)归一化
imshow(I)                               %显示
end

完整(在上面的基础上,添加和完善一些功能)的代码也可以在这里下载,赚点积分。https://download.csdn.net/download/weixin_41649786/87625967?spm=1001.2014.3001.5503icon-default.png?t=N2N8https://download.csdn.net/download/weixin_41649786/87625967?spm=1001.2014.3001.5503

引用时请标明出处,谢谢!

路漫漫其修远兮,吾将上下而求索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心网千结

若有所帮助,请点赞支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值