matlab的行向量表示:
xRow=[2,3,4,5]
列向量表示:
xCol=[2;3;4;5]
矩阵的表示(注意每行的个数要一样,不然会报错):
m=[1,3,2;4,6,7]
m=[1,3,2;4,6,7]
m =
1 3 2
4 6 7
创建单位矩阵:
i=eye(5)
i =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
创建0矩阵(也可以是两个参数x,y 表示x*y的一个矩阵):
z=zeros(4)
z =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
创建全1矩阵:
z=ones(4,2)
z =
1 1
1 1
1 1
1 1
创建随机矩阵:
y=rand(3,6)
y =
0.7008 0.3891 0.5730 0.6223 0.0859 0.0902
0.7425 0.4293 0.8497 0.5884 0.5005 0.9047
0.7579 0.9563 0.2763 0.9635 0.5216 0.8844
创建对角阵:
d=diag(2:3)
d =
2 0
0 3
矩阵的运算:
(要注意矩阵的尺寸是否一致或者适合运算)
元素的比较运算:
a=b==2
a =
logical
1
矩阵的比较运算:
ind=m>2
ind =
2×3 logical 数组
0 1 0
1 1 1
求矩阵中满足条件的值:
对满足条件位置的值进行修改:
对矩阵求平均值:
采用mean函数,实际是对每一列求平均值
Avg=mean(m)
Avg =
2.0000 4.5000 3.5000
如果求行的平均值:
则需要添加参数,如下,其中的2表示第二维,即行
> Avg=mean(m,2)
Avg =
1.0000
5.6667
求整个矩阵的平均值:
首先将矩阵变成一列:
m (: )
ans =
0
4
3
6
0
7
然后再用mean求平均值
当然还有min、max、std分别表示最小值,最大值,标准差。
Determining Array Size and Length From Mars to Hollywood
找到矩阵的最大维度,可以是行或者列:
length(m)
求矩阵的大小:
[row,col]=size(m)
col =
3
row =
2
Loading and Saving Images
从当前文件夹加载图片:
test=imread(‘sign.jpg’)
显示图像:
imshow(test)
Working with Image Data
截取图像的部分区域:
Icrop=test(15:350,20:300)
提取彩色图像的红色、绿色、蓝色,通过维度来就行了:
Ired=test(:,:,1);
去掉彩色图像中的某一维度:
Icred=Icrop;
Icred(:,:,1)=0;
inshow(Icred)
图像增强,对某总色彩进行增加或者减少:
Icgreen=Icrop;
Icgreen(:,:,2)=Icgreen(:,:,2)+30;
imshow(Icgreen)
对图像进行伽马转换:
I1=imread(‘boo.png’);
I2=im2double(I1);
imshow(I2)
gamma=0.5;
I2=I2.^gamma;
imshow(I2)
空间滤波器,通过函数对每个像素邻近的像素强度进行处理。
1.创建过滤器矩阵(也叫遮罩或内核)
2.将遮罩中的所有元素与图像中对应元素相乘,再将所有这些乘积相加
定义过滤器type:Average(平均,平滑边缘),Log,Disk,Motion,Gaussian,Prewitt
,Laplacian(拉普拉斯算子,突出边缘),Sobel
定义算子:fspecial('type',parameters)
如:h=fspecial('laplacian',0.5)
将算子应用到图像:
该函数可以移动,并计算滤波后的值
imfilter(inputImage,filter)
对图像边缘进行处理 可以采用Symmetric,Replicate,Circular
for循环:
for k=1:99
b(k+1)=(1+0.2)*b(k);
end
if else判断:
if hours<=1
fee=0;
else
fee=5*(hours-1);
end
转载:https://blog.csdn.net/qq_42479987/article/details/116543145