自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 电磁散射特性与SAR影像之间的关联,典型地物的散射特性

1、不同地物目标、位置、地物结构、表面形态、介电性能,对雷达波束(电磁波束)的反应不同。不同雷达波段、极化方式、入射角也会使地物在图像上形成不同的色调和纹理。雷达图像的灰度是地物目标后向散射回波强度的表现形式,而后向散射通常以雷达后向散射截面积σ和后向散射系数σ0来表达。(1)表面粗糙度的影响它是决定会波振幅的主要因素,当反射面是光滑表面,则发生镜面反射,一般情况下几乎没有回波信号,只有当雷达波束垂直于这类地物表面时,才能受到强的回波。当反射面稍微粗糙,则被反射的能量不再完全集中在反射线方向,而是

2021-05-12 22:16:14 6572

原创 matlab中plot函数如何在图像上标记某些点?

假设我的图像如下,我想用plot函数标记几个点,代码如下:plot(4,8,'ro','MarkerSize',5); plot(6,1,'ro','MarkerSize',5);得到的结果图放大局部后,如下:可以看到,输入的两个坐标分别为(4,8)、(6,1),被标记的结果为上图,也就是plot在图像上标记时的坐标系是图像坐标系, 并没有按照行列号标记,因为图像行列号的坐标系与图像坐标系不同。...

2021-05-08 22:32:42 22739

原创 Matlab中数据读取方式,如何读取给定行列号的矩阵(多个位置)的灰度值?

假设我有一个影像的灰度矩阵为x,其中aa,bb分别是想要获取的x矩阵灰度值的行列号。我的目的是:依次获取x矩阵的3行5列,4行4列,5行1列,1行9列,6行3列,5行6列,…处的灰度值,如下:如果我直接输入:x(aa,bb)获得的结果是:显然不是我想要的结果,想要的结果应该和aa,bb的维数相同,也是一个4*4的矩阵。我改良的方法是:reshape(diag(x(aa,bb)),4,4)但是对于以上方法,当aa,bb的维数过大时,会报错,因为matlab能数组大小是有限的。需要说明的是

2021-04-28 22:15:26 894

原创 matlab中如何检测极大值和极小值?

Matlab中sign函数:Matlab中已知自变量和因变量,怎么求极大值和极小值?若diff(y)<0时,sign(diff(y))=-1,要想让y点为极大值,前面diff(y)要大于0,sign(diff(y))=1,也就是前后异号。第二次diff等于-1-1=-2。因此代码如下,也可直接find(diff(sign(diff(y)))==-2)。indmax=find(diff(sign(diff(y)))<0)+1diff(y)可以看作这一点的导数值,大于0递增(记为1),

2021-04-22 21:08:05 7990

原创 Matlab中关于argmax、argmin函数的使用

1、在matlab的现有函数中,并没有argmax,argmin函数可以直接调用,要根据这两个函数的实际意义,自己编写程序进行计算2、我要求解的函数是下式:其中mad(theta)和amd(theta)两个均为111的double型向量括号里得到一个111的向量关于argmax函数的意思是: argmax(f(x))是使得 f(x)取得最大值所对应的变量x。也就是求出f(x)的最大值,返回使f(x)最大的自变量x。因此我编了以下代码:就是将函数结果以及自变量放在同一个矩阵,并上下一 一对照,

2021-04-15 09:35:59 14313 7

原创 关于Matlab中双线性插值的理解

1、双线性插值的原理就是根据:已知两点可以求出直线方程,因此可以求出直线中任意一点;同样在另一条线上可以内插出另一个点;再根据以上求出的两点求直线方程,内插出所要求得的点。2、若在matlab中实现双线性插值,则需要注意:上述公式的x,y坐标的范围为负无穷到正无穷,可为小数。而对图像双线性插值时,只能为正整数,且不能超过图像的数组范围。因此,需要将求得的x,y坐标转换到图像坐标中,参考我的另一篇博客:二维图像旋转的坐标公式推导。(需要注意的是,图像坐标转换后,图像中的线的角度没有发生变化。)

2021-04-09 10:20:52 1945

原创 matlab中的plot函数

一、画点1、用plot画图,按f5运行关于点被标记出的形式有以下几种:s是方形、d是菱形、v是下三角、^是上三角、p是五角形、h是六角形2、更改坐标轴范围3、给x,y轴加上标题4、给整个图加标题2、画线1、输入x,y变量画线若只输入一个变量,则matlab默认输入的数据为纵坐标,并给输入的数据匹配的横坐标为1,2,3,4,…因此对于下面的代码,即使只输入了y,直接plot(y),得到的结果相同。关于plot画线常用的颜色如下:m是品红色、c是青蓝色关于plo

2021-04-07 20:49:29 862

原创 matlab中如何输入特殊字符

转载:https://www.cnblogs.com/vigorz/p/10499185.html下标用 _(下划线)希腊字母等特殊字符用 \加拼音 如α \alphaβ \betaγ \gammaθ \thetaΘ \ThetaГ \Gammaδ \deltaΔ \Deltaξ \xiΞ \Xiη \eltaε \epsilongζ \zetaμ \miuυ \nuτ \tauλ \lamda∧ \Lamdaπ \pi∏ \Piσ \sigma∑ \Sigm

2021-04-06 10:52:02 3173

原创 matlab如何解不等式,并将结果存在变量里?

在网上找到的大部分方法,主要有以下几种:(1)是先用solve函数求解等式,再用plot函数画出图像,人为去做判断,求出解的范围。参考网站:https://zhidao.baidu.com/question/552142080333996132.html(2)solve函数也可以求这种新型规划的不等式:也就是,有一个目标函数,并且有几个约束条件。若是这种类型的不等式,可以按下图处理,也可以在matlab里help一下Linprog函数下图参考网站讲解了solve函数的详细用法:https://

2021-03-30 11:11:53 7738

原创 matlab中如何去掉相同的(重复的)坐标?

若有两个向量,分别代表x,y坐标:x=[1 4 2 7 2 7 5];y=[2 3 5 6 5 6 9] ;想要去掉其中重复的两个点,(2,5)、(7,6)则可以执行下面代码:

2021-03-30 10:55:37 3196

原创 syms函数、如何让一个向量的所有值减去另一个向量的所有值?

1、syms函数:定义符号变量作用:(1)可用来求导(2)相当于列方程前,必须设未知数x是一个道理(3)syms x代表着声明符号变量x,只有声明了符号变量才可以进行符号运算。syms可以定义变量范围:定义多个有规律的syms变量的方法:2、如何让一个向量的所有值减去另一个向量的所有值,不是一 一对应的减。得到的A变量如下:参考网站:https://tieba.baidu.com/p/5087210188?red_tag=3279359011...

2021-03-29 22:00:44 2236

原创 添加注释、输入函数input的使用方法

1、添加注释的另一种方法:用花括号括起来2、输入函数input的使用方法如何限制输入变量的类型?下面介绍关于输入字符串类型的两种常用方法:char字符串–单引号如何输入string 变量?–用双引号...

2021-03-29 14:29:42 370

原创 傅里叶变换

下面是我在实验中的部分代码:m数据是一个经过灰度变换取值范围在0~1的图像。关于以上代码,有两个问题:(1)fft2(二维傅里叶变换)之后,为什么还要进行fftshift?fft2只是将信号从空间域转换到频率域,此时得到的信号低频部分集中分布在四个角落,高频在中心。要想让低频在中心,高频在四周,则需要移位(fftshift),便于处理。直流信号频率为0,属于低频,也要fftshift。参考网站1:https://blog.csdn.net/lihe4151021/article/details

2021-03-29 09:52:05 501

原创 imadjust函数的注意事项,以及如何将灰度图像0到255的范围转化到0到1的范围?灰度转换

1、imadjust函数的注意事项关于imadjust函数的使用方法,最常见的一种用法:但如果用这个函数变换图像的灰度范围时,需要注意:[low_in high_in],[low_out,high_out]的两个区间的范围必须在0到1之间。对于满足以上要求的图像,可以通过max,min命令找到图像的灰度范围。我企图将0到255转换到0到1,发现该函数不行。2、如何将灰度图像0到255的范围转化到0到1的范围?我在读入文件后,分别采用了两种方法进行灰度转换,得到了data和data2两个数据,

2021-03-27 22:14:17 5546

原创 Matlab中如何生成a=A1,A2,A3,...A100这样有规律的变量?

如何生成a=A1,A2,A3,…A100这样有规律的变量?按上述代码生成的C为元胞数组,每个元素分别为A1,A2,A3,。。。sprintf函数像是一个输出函数,能设置输出类型,并将输出值赋给变量,功能强大,sprintf函数参考:https://blog.csdn.net/jk_101/article/details/106492643若让c=[];而不是元胞数组,则生成的变量没有分开,且c为字符型若是用于循环中,可以按照下列命令,则a每次就会被赋值为m1,m2,m3,…上述参考网站:ht

2021-03-27 20:37:37 3624 1

原创 关于Matlab中元胞数组{}与()的区别

下文的seg元胞是一个1616的元胞数组,每个元胞数组中存储着3232double型数据{}与()的区别:()是获取的元胞数据{}直接获取元胞里包含的数据

2021-03-25 22:17:35 470

原创 明明看到矩阵(向量)里某个数小于界定的数,但是用find返回不到对应的位置

我的x0矩阵是这样的,显然第一个元素小于1。当我用命令:x0(find(x0)<1)=1;x0中的第一个元素并没有赋值成为1经过网上查询,将语句改为:x0(x0<1)=1; 赋值成功。以上可能跟 find函数的舍入误差相关,find函数更适合用于整数之间的判断。...

2021-03-25 18:07:15 165

原创 关于find函数的使用,如何删掉数组中的负值?求任意两个数字之间的转换次数?如何在矩阵中找到某个元素的行数和列数?(ind2sub函数的用法)

1、find:可以找到逻辑真的位置2、如何删掉数组中的负值?里面有两种方法:a(find(a<0))=[]; %找位置a(a<0)=[] %用逻辑值 这个效率更高3、如何求0到1转换的位置和次数?4、求任意两个数字之间的转换次数:5、如何在矩阵中找到某个元素的行数和列数,而不是它的序号。ind2sub函数的用法...

2021-03-24 17:38:10 423

原创 矩阵、向量之间的乘法和除法,如何求向量的内积、叉积?

1、矩阵的乘法和除法(1)点乘、点除…是对应元素之间进行运算:(2)两矩阵之间的乘法,直接用*即可,但要求第一个矩阵的列数等于第二个矩阵的行数。2、向量之间的乘法和除法点乘:对应元素相乘若想求两个向量的内积,有3种常用方法:(1)sum(a.*b)(2) a * b’(3)dot(a,b)向量之间的叉积:cross(a,b),a,b向量中必须含有三个元素。实际的计算公式如下(只是为了便于理解)...

2021-03-24 17:25:30 3916

原创 常见的矩阵函数:单位矩阵、零矩阵、元素全为1的矩阵、逻辑矩阵、帕斯卡pascal矩阵、希尔伯特hilb矩阵、魔方magic矩阵

1、单位矩阵、零矩阵、元素全为1的矩阵若想生成为逻辑变量的矩阵,如下:2、帕斯卡pascal矩阵、希尔伯特hilb矩阵、魔方magic矩阵Pascal矩阵的第一行元素和第一列元素都为1,其余位置处的元素是该元素的左边元素加上同列中上一行的元素。希尔伯特矩阵是正定矩阵魔方矩阵就是矩阵的行、列、对角线之和都相等...

2021-03-24 17:18:33 11562

原创 &&和&的区别、eval()函数的功能有哪些?如何批量计算矩阵中每个列向量的标准差?

1、&&和&的区别&用于数组之间标量之间可用&&或&2、eval()函数的功能:(1)将括号内的字符串视为语句并运行,比如:eval(‘y1=sin(2)’)和语句y1=sin(2)等价(2)可以批量生成变量,多在循环中使用,可以对多个名字有规则的变量或文件进行操作,比如:for x=1:5eval([‘y’,num2str(x),’=’,num2str(x^2),’;’])end参考网站:https://zhidao.baidu

2021-03-24 16:59:02 411

原创 逻辑向量,any、all、isequal函数用法

1、逻辑向量若不是逻辑值进行判断,进行下述操作:2、any、all、isequal函数的用法判断两矩阵是否相同,不仅对应数字要相等,维度也要一致3、find:可以找到逻辑真的位置4、如何删掉数组中的负值?里面有两种方法:a(find(a<0))=[]; %找位置a(a<0)=[] %用逻辑值 这个效率更高5、如何求0到1转换的位置和次数?求任意两个数字之间的转换次数:...

2021-03-23 17:32:12 493

原创 掷骰子随机生成一个数并将所有数据记录下来、diff、prod、cumsum、cumprod、cummin、cummax函数的使用、在matlab中如何创建一个三维数组?

1、掷骰子随机生成一个数并将所有数据记录下来2、diff()函数3、矩阵的乘法和除法(1)对应元素之间进行运算:4、在matlab中如何创建一个三维数组?查看size为2*4 *2,三维可根据下面这个图理解三维数组:5、prod()、cumsum、cumprod、cummin、cummax函数的使用对于矩阵,min,max函数的运用...

2021-03-23 14:43:39 676

原创 length、size、numel函数;矩阵与0相乘的风险(如何让已知矩阵的所有元素变为0?)、reshape、矩阵或向量的翻转、矩阵的重复(复制)

1、length()返回行列号较大那一个;size()返回行列号[row,col]=size()返回两个值row和col,分别为行列号。numel()求矩阵的元素个数2、矩阵与0相乘的风险//如何让已知矩阵的所有元素变为0?3、reshape()的使用:4、矩阵或向量的翻转:5、矩阵的重复(复制)...

2021-03-22 15:55:31 138

原创 转置和共轭转置,如何给矩阵对角线、次对角线的元素赋值?向量和矩阵赋值的区别

1、转置和共轭转置2、单位矩阵、零矩阵、元素全为1的矩阵3、如何给矩阵对角线、次对角线的元素赋值?4、给向量和矩阵赋值的区别:当赋值的是一维数组时,左右元素个数相同即可。当赋值的是二维数组时,左右元素需要维度一致。但是可直接赋相同的值。...

2021-03-22 12:14:00 3104

原创 开根函数、角度转弧度、对数和指数函数、数组定义、等差、等比数列,如何给矩阵中某几个元素赋值或访问某个或多个值

1、开根函数,nthroot(a,b)中的a是要开根的数,b是指开几次根2、角度与弧度的转换3、对数和指数函数4、在matlab中,矩阵可看作二位数组,向量看作一维数组。下面是关于数组定义的几种方法,以及等差数列和等比数列的生成方法5、x([ 5 3 1])指的是返回x的第5个、第三个、第一个的数值x(end)返回x的最后一个数x(2:end)返回x从第二个到最后一个数因此可以根据矩阵的位置对其进行赋值...

2021-03-22 10:57:57 306

原创 xor命令,运算优先级,Matlab计算规则(从左至右),舍入误差,取整函数、求余函数和符号函数,mod和rem的区别

1、xor()括号里的两个命令当且仅当只有一个逻辑运算正确的时候,返回逻辑值为1。2、运算优先级。容易错的有:逻辑运算在加减法后面,负号运算在幂次后面。3、Matlab中在进行计算时,是从左到右进行的。下面给出例子。所以10>5>2的正确写法应该为:10>5&&5>24、关于Matlab中的舍入误差本来左右等式应该是相等的,但由于舍入误差,使两个式子产生了微小的偏差。对于舍入误差在Matlab中的解决办法,通常是:判断两个数的差的绝对值,若小于

2021-03-22 09:25:22 3527 1

原创 虚数、正负无穷和NAN、随机数和随机因子、字符和字符串

1、虚数在matlab中用i(或j)来定义虚数部分,但有时候for循环定义变量时会占用这个字母,此时定义虚数的方法是在i(或j)前面加上数字2、正无穷:inf,1/0负无穷:-inf;-1/0NAN:不是一个数(not a number);0/0这三种类型在Matlab里存储为double型数据,可直接通过赋值,如x=NAN;3、随机数和随机因子如果设置了随机因子,则生成的随机数也就不是随机了,而是一个数列。rand()产生随机数的原理就是,里面有一个震荡非常快的函数且无规律,每输入一个

2021-03-21 21:29:59 1471

原创 pause、who、whos命令,Matlab中存储实数的形式总结,format两个命令

1、pause()命令在命令行窗口输入pause(10)可以让Matlab暂停运行10秒,左下角显示正忙,两个大于号的提示符没有了,再输入命令时Matlab不运行,等时间到了再运行。若想停止pause的操作,按cltr+c,pause命令失效2、who:输出所有的变量名whos:输出所有的变量名及相关的信息3、Matlab中存储实数的形式:双精度:double(可显示16位,8byte)、单精度:single(8位,4byte)、整数:(1)带符号(正负);(2)不带符号总结如下:

2021-03-21 18:44:33 3201

原创 MATLAB多个for循环嵌套的执行顺序、如何将生成的数据存放在一个向量或矩阵里?

MATLAB中多个for循环嵌套的执行顺序:当有两个for循环时,先执行一次外部for循环,再将内部循环全部执行。当有三个for循环时,先执行一次最外部for循环,再执行一次第二层for循环,最后执行全部的第三层for循环。执行结果如下:如何将生成的数据存放在一个向量或矩阵里?参考网站:MATLAB多个for循环嵌套的执行顺序https://blog.csdn.net/qq_39912914/article/details/102508987https://bbs.csdn.net/t

2021-03-20 10:42:42 21716

原创 二维图像旋转的坐标公式推导

二维图像旋转后的坐标公式推导:关于图像旋转算法原理可以参照网站:https://blog.csdn.net/liyuan02/article/details/6750828

2021-03-10 16:22:32 3392

原创 Matlab常用的输出命令disp、fprintf

Matlab常用的输出命令:1、disp方法(1)方法(2)方法(3)需要注意:直接加数字不会显示数字,num2str()使数值转换为字符串类型2、fprintf(1)此处的%4.2是指数字有效长度为4位,保留小数点后两位,f是数字类型位浮点型,\n是输出换行。当输出两个结果时如下:...

2021-03-09 09:02:05 16188

原创 matlab中关于椒盐噪声和高斯噪声去噪(均值滤波、中值滤波、维纳滤波、小波阈值去噪)并计算均方根误差、信噪比和峰值信噪比

主要参照了其他网站的一些信息,结合得到以下结果:a=imread('mengnalisha.jpg');b=rgb2gray(a);subplot(241),imshow(a),title('原图');subplot(242),imshow(b),title('灰度图');c=imnoise(b,'salt & pepper',0.02);subplot(243),imshow(c),title('添加椒盐噪声图像');x=ones(3,3)/9; %定义一个3*3的均值滤波器

2021-03-08 15:25:31 5718 5

原创 图像分块如何生成新变量?如何将struct结构体中的double型数据提取出来,并生成新的变量?

关于图像分块的文章:https://langbin.blog.csdn.net/article/details/45581007由于使用eval函数进行图像分块时想要生成新的变量而不是生成新的文件,只需要将这行代码进行更改。原代码:更改后:但生成的m1,m2,m3,…变量数据类型是struct,不便于后续处理于是将struct结构体中的double型数据提取出来,并生成新的变量的方法,针对上述代码,应该是:参考网站:https://zhidao.baidu.com/question/17

2021-03-08 12:47:36 563

原创 数学符号(取底、取顶、不大于、不小于)和标准假彩色合成

1、什么是标准假彩色合成?近红外波段赋予红,将红波段赋予绿,将绿波段赋予蓝。标准假彩色合成的影像有利于实现对影像中的植被增强。

2021-01-16 19:31:38 8072

原创 Matlab中肉眼看到的灰色图像不一定是灰度图以及出现的错误

1、我一直以为肉眼看到的图是灰色,那就是灰度图。其实不是,判别图像是彩色图像还是灰度图的判别方法如下:比如下面这个img和imgB都是彩色图像为什么会考虑到这个问题呢?是因为不考虑的话会出现这样的问题,imshow之后输入是一张图,结果却输出三张连在一起的图像,如下:otsu双阈值处理后的结果图:解决办法:将彩色图像转换为灰度图像imgB=rgb2gray(img); %转为灰度图结果如下:...

2020-12-26 20:46:50 859

原创 投影坐标系、大地坐标系(地理坐标系)

坐标系我一直很迷,就慢慢记录成长吧。– 我国规定1:1万、1:2.5万、1:5万、1:10万、1:25万、1:50万比例尺的地形图均采用高斯克吕格投影(横轴等角切圆柱投影);特点:<1>离中央子午线越远,变形越大;中央子午线无变形;<2>无角度变形,长度和面积变形小;<3>同一条经线上,纬度越低,变形越大,最大值在赤道上。1:100万采用兰伯特投影(正轴等角割圆锥投影);特点:最适合中纬度的一种投影;海上小于50万的地图用墨卡托投影(正轴等角圆柱投影);

2020-12-10 21:40:04 3277

原创 matlab中用plot函数绘制的常用设置以及五点三次平滑法的实现

1、导入数据(我的是excel数据)2、导入数据后在右侧会产生新的变量,再将这三列中需要的数据单独拿出来作为x,y轴的数据,方法是:选中,再点击“根据所选内容创建变量”3、此时的变量是table类型,输入函数无效,需要将他转换为数组,在命令行输入X80=table2array(x80),即可以将x80的表数据转换为X80的数组数据。4、在命令行输入以下命令可以将数据量缩小,也就是每100个点取一次平均值,生成一个新的数组。(数据点实际上是33977个,但每100个点取平均,应该是100的倍数

2020-11-22 21:33:18 4065

原创 像素深度是什么?在arcgis中如何提取像素值以及经纬度(或x、y坐标)?

像素深度是什么?像素深度是指存储每个像素所用的位数,RGB三个通道,一个通道存储8位,则三个通道共存储24位。像素位深度决定了彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就更准确。位深度为 1 的图像的像素有两个可能的值:黑色和白色。位深度为 8 的灰度模式图像有 256 个可能的灰色值。在arcgis中查询像素值可以用识别,(是什么样的影像,像素值就代表了对应的值,如DEM影像的像素值代表了高程,NDVI

2020-11-07 19:51:11 12915 2

原创 arcgis的重采样和插值方法

重采样是指根据一类象元的信息内插出另一类象元信息的过程,它可以用来改变原始影像的空间分辨率,比如为了减少数据量,可以在数据管理工具-栅格-栅格处理-重采样进行处理,步骤如下:在输出像元大小的位置可以输入x,y的值,此处单位是米。得到的结果就是空间分辨率为1200米的影像。重采样技术有三种,此处采用最简单的。插值与重采样类似,利用空间相关性,根据有限的数据插值出有效数据,得到想要的效果。插值方法有以下这些,具体https://wenku.baidu.com/view/9e755828647d2728

2020-11-05 22:17:06 8280 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除