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

     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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

批量下载哨兵(Sentinel)数据

由于网络的原因&#xff0c;现在下载哨兵数据很难&#xff0c;直接在国外网站上下载&#xff0c;需要科学上网。某宝上虽然也提供下载哨兵数据的服务&#xff0c;但是价格太贵了&#xff0c;因此在网上找了很久&#xff0c;发现了一个非常非常实用的工具Internet Download Mana…

carsim输出端口2的宽度无效_PIO CORE 解析 (2)

下图为一般配置的PIO CORE:具有输入&#xff0c;输出和中断信号引脚&#xff0c;通过Avalon-MM接口与系统交互。下图提供了支持双向口功能的实例图&#xff1a;PIO内核的Avalon-MM接口由单个Avalon-MM从端口组成。从端口能够进行基本的Avalon-MM读和写传输。AvalonMM从端口提供…

利用matlab提取中心线

先看看代码运行结果&#xff08;红色部分表示河流中心线&#xff0c;黑色表示河流两岸&#xff01;&#xff09;&#xff1a; 注&#xff1a; 1. 由于河流两岸的坐标不是等距采样&#xff0c;所以无法保证100%准确&#xff0c;只要按着要求处理河岸坐标数据Shape文件&#xff…

b类 蚂蚁金服_股权设计与合伙制,解析蚂蚁金服与华为的顶层结构

股权设计与合伙制商道君这篇文章讲一讲股权设计与合伙制。股权设计和合伙制两者都是企业的顶层设计&#xff0c;股权的设计和合伙人制度有不同之处&#xff0c;但核心点都只有一个那就是——争夺企业的控制权。举例&#xff1a;马云与阿里巴巴马云说&#xff0c;如果阿里巴巴不…

SARScape二次开发-IDL编程心得

最近由于项目需要&#xff0c;需要使用IDL编程。此前从接触过编程&#xff0c;但好在有matlab、C编程的一些底子&#xff0c;所以自学编程&#xff0c;进行SARScape二次开发。相比MATLAB而言&#xff0c;IDL资料少&#xff0c;而且只有英文版的官方帮助&#xff0c;学起来非常费…

地址池命令 思科理由_论CCNA基础之常用命令

Cisco常用查看命令&#xff1a;Show VLAN brief //查看端口所属VLANShow ip int brief //查看端口的启用状态特权模式下Show running-config //查看设备当前运行配置特权模式下Show clock //查看当前系统时钟特权模式下 show log //查看log 日志特权模式下show interface //查看…

SARscape 二次开发讲解

官方给了一些讲解(地址&#xff1a;SARscape/SARscape IDL Scripting/SARscape batch object)&#xff0c;以及一些参考例子&#xff08;地址&#xff1a;SARscape/SARscape IDL Scripting/Example&#xff09;都可以用来学习参考。 SARscape 二次开发可以分为10个详细的步骤&a…

applicationproperties不是小叶子_三角梅整株叶子发黄从这里找原因,早解决早生长!...

家里的花草长得好不好&#xff0c;看叶子就行&#xff0c;长势好的叶子翠绿&#xff0c;油亮有光泽&#xff0c;长势不好的叶子发黄&#xff0c;暗淡无生机。所以如果花草的叶子不健康&#xff0c;那么就是哪里出了问题&#xff0c;需要及时找出原因解决。为什么家里盆栽的三角…

利用Matlab替换图片部分颜色

目录 1. 需求分析 2. 技术分析 3. 程序代码 1. 需求分析 日常工作、研究、学习当中&#xff0c;往往需要对图片进行处理。其中图片重新着色、渲染是非常常见的。比如说去掉或则更换证件照底色&#xff1b;去掉遥感图像中黑边……为解决此类问题&#xff0c;而编写此代码。 …

十万个为什么儿童版_把中国科技传播至阿语地区,少儿社《十万个为什么》阿拉伯文版亮相童书展...

在11月13日至15日举行的第八届上海国际童书展上&#xff0c;少年儿童出版社的《十万个为什么》阿拉伯文版亮相。该书于2020年正式出版&#xff0c;中国的科技成果将沿着“一带一路”&#xff0c;传播至2.9亿人口所在的阿语地区。《绘心寓意中国古代寓言典藏图画书 曾子不撒谎》…

利用Matlab判断某些点是否在多边形区域内

目录 1. 代码作用及实现效果 2. 技术分析&#xff1a; 3. 程序 1. 代码作用及实现效果 先给各位看看具体效果&#xff0c;如下所示&#xff0c;其中红色的点表示需要判断的点&#xff0c;是否在蓝色区域内&#xff0c;从图中可知&#xff0c;有两个点在蓝色区域内&…

spark1.0和2.0的区别_【系统】华为正式发布鸿蒙OS 2.0手机Beta版:UI界面、交互无区别...

今天上午&#xff0c;华为正式发布了鸿蒙OS 2.0手机开发者Beta版本&#xff0c;HarmonyOS 是面向万物互联时代的全场景分布式操作系统&#xff0c;华为希望和合作伙伴、开发者一起打造面向万物互联时代的超级终端体验。目前也已经开启了公测招募活动&#xff0c;不过报名还是有…

Matlab 纯代码进行GUI界面编程

Matlab界面编程传统的有guide&#xff0c;现在matlab朝着appdesigner方向发展。这两种方法都是非常简单适合新手的&#xff0c;如果是一个未接触这方面的&#xff0c;我建议直接学APPdesigner&#xff0c;如果想了解更深入&#xff0c;可以尝试利用纯代码进行编程。 编程要点…

深入到系统组件是否白盒测试_2019年系统集成项目管理工程师:第一章 信息化知识(三)要点?...

今天幸福哥助理继续为大家分享第一章 第三节 信息化知识(二) 信息系统设计、软件工程及面向对象系统分析与设计等复习知识要点&#xff0c;备考笔记知识点的分享会不定期整理&#xff0c;如果你正好参加这个考试&#xff0c;可以关注我&#xff0c;收藏&#xff0c;或者转发。一…

IDL 文本编码、代码补全快捷方式、IDL doc、格式器、行号显示设置

目录 1. 文本文件编码设置 2. 自动补全设置 3. IDL doc设置 4. 格式器设置 5. 显示行号 每种编程语言的某些设置&#xff08;快捷键、显示风格&#xff09;都大相径庭&#xff0c;因此需要需要对一些显示&#xff0c;使得更符合自己的编程习惯&#xff0c;方便用起来得心…

IDL学习(对象):IDLffShape

目录 一、描述 二、创建 三、属性 3.1 ATTRIBUTE_INFO 3.2 ATTRIBUTE_NAMES 3.3 DBF_ONLY 3.4 ENTITY_TYPE 3.5 FILENAME 3.6 IS_OPEN 3.7 N_ATTRIBUTES 3.8 N_ENTITIES 3.9 N_RECORDS 3.10 UPDATE 四、方法&#xff1a; 4.1 IDLffShape::AddAttribute 4.2 IDLff…

tablueau地图标记圆形_30天30张中国风地图,从青绿山水到秦砖汉瓦

本文来自#30天制图挑战#的GISer November_阿瑜瑜瑜瑜&#xff0c;完成了30幅中国风专辑地图&#xff0c;唯美又有韵味&#xff0c;十分赏心悦目&#xff0c;简直把中国风玩出了花~接下来&#xff0c;快来跟着小编一起细品30幅中国风地图吧~~~ 01day 1千里江山图《千里江山图》是…

IDL学习:语法基础-变量

目录 1. 变量命名规则 2. 数据类型 3. 基本操作 3.1 数据类型选择 3.2 改变数据类型 3.3 科学计数法 1. 变量命名规则 与其他编程语言一样&#xff0c;IDL也有自己的变量命名规则&#xff1a; 字符规则&#xff1a;首字母必须是26个英文字母&#xff0c;且只能由字母、数…

语言省考安徽考区_安徽省中小学新任教师公开招聘统一笔试 中学信息技术学科考试大纲...

一、考试性质安徽省中小学新任教师公开招聘考试为全省统一组织的公开性选拔考试&#xff0c;是落实“省考、县管、校用”教师管理体制的基础工作。其目的是吸引有志于从事基础教育事业的优秀人才到中小学任教&#xff0c;进一步规范中小学新任教师公开招聘工作&#xff0c;把好…

IDL学习:语法基础-数组

目录 1. 创建数组 1.1 直接创建 1. 2 利用函数创建 2. 数组索引 3. 数组操作 3.1 数组的信息 3.2 数组维度变化 3.3 数组的最大值和最小值 3.4 数组方差、均值、标准差、总和运算 3.5 数组元素筛选及重新赋值 3.6 数组元素的排序 3.7 数组间比较 4. 数组运算 4.…