图像处理
来源:互联网 发布:淘宝网店费用 一年 编辑:程序博客网 时间:2024/06/05 06:12
1、函数im2double将输入转换成double类型。如果输入是 uint8 unit16 或者是二值的logical类型,则函数im2double 将其值归一化到0~1之间,当然就是double类型的了。如果输入本身就是double类型,输出还是double类型,并不进行归一化。
2、rgb2gray是一种函数,功能是将真彩色图像转换为灰度图像,即灰度化处理,调用这个功能的格式是
I = rgb2gray(RGB)。
3、edge函数,又称为edge(I),功能是采用I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0。
4、mean
M=mean(A)
A是一个向量,mean(A)返回A中元素的平均值
A是一个矩阵,mean(A)将A中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。
mean(A,dim)返回dim所指维数上的元素的平均值。对于矩阵,mean(A,2)返回包含A的每一行平均值的列向量
5、s=size(A)返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
[m,n]=size(A),m是行数,n是列数
s=size(A,1)返回行数
s=size(A,2)返回列数
[m,n,r]=size(A),r为A的维数
6、int2str(m)把整形转换为字符串
7、
matlab中fopen函数的常用调用格式
1)fileID = fopen('filename')
2)fileID = fopen('filename','permission')
其中fileID是文件代号,filename是要打开的文件名,permission是打开方式,默认的打开方式是只读模式。第一种情况时选择默认的打开方式,第二种是认为指定打开方式。
fileID是文件的句柄(或者理解为文件的代号),使用fopen()后默认会返回一个文件代号给fileID变量,常用的返回值如下
fileID=+N(N是正整数):表示文件打开成功,文件代号是N.
fileID=-1 : 表示文件打开不成功。fileID在此次文件关闭前总是有效的。
permission是打开方式参数,打开方式参数由以下字符串确定:
8、
第一个用法是
ndices = find(X)
X = [1 0 4 -3 0 0 0 8 6];
indices = find(X)
返回x中非零元素的序号从1开始
indices =
1 3 4 8 9
若x是个矩阵呢?
x= [1 0 ;1 5 ;4 0 ]
find(x)得到的是
1
2
3
5
是一列矢量,非零元素的序号是按一列一列的算
第二个用法
ind = find(X, k)
ind = find(X, k, 'first')
ind = find(X, k, 'last')
这三个是找前K个非零元素,前两式功能一致,第三式指从最后一个元素算起。
第三个用法
[row,col] = find(X, ...)
[row,col,v] = find(X, ...)
例如
X = [3 2 0; -5 0 7; 0 0 1];
[r,c,v] = find(X>2)
r =1
2
c =1
3
v =1
1
1 2 1 就是说矩阵中第一行第二列的元素满足X>2为真用1来表示。余下的类似。
1 3 1
1 1 1
[r,c,v]
要注意一下这一用法
X = [3 2 0; -5 0 7; 0 0 1];
[r,c,v]= find(X) 这个得到的v是X中非零的元素,要注意这个区别
r =
1
2
1
2
3
c =
1
1
2
3
3
v =
3
-5
2
7
1
a =1 1 2 2 2 3 3
1 2 2 2 3 3 3
1 1 1 2 2 3 3
>> find(a==1)%一列一列的找:编号1----m*n
ans =
1
2
3
4
6
9
>> find(a==2)
ans =
5
7
8
10
11
12
13
15
>> find(a==3)
ans =
14
16
17
18
19
20
21
1
2
3
1
3
3
b =
1
1
1
2
2
3
10、unique
b = unique(a) %取集合a的不重复元素构成的向量,按照升序排列
b = unique (A,'rows') %返回A、B不同行元素组成的矩阵
[b,i,j] = unique(…) %i体现b中元素在原向量(矩阵a)中的位置(最后出现的位置);j体现原向量(矩阵a)在b中的位置
例1-39
>> A=[1 1 2 2 4 4 6 4 6]
A =
1 1 2 2 4 4 6 4 6
>> [c,i,j]=unique(A)
c =
1 2 4 6
i =
2 4 8 9 %i体现b中元素在原向量(矩阵a)中的位置;
j =
1 1 2 2 3 3 4 3 4 %j体现原向量(矩阵a)在b中的位置
例1-40
>> A=[1 2 2 4;1 1 4 6;1 1 4 6]
A =
1 2 2 4
1 1 4 6
1 1 4 6
>> [c,i,j]=unique(A,'rows')
c =
1 1 4 6
1 2 2 4
i =
3
1
j =
2
1
1
11、size
size(X,1),返回矩阵X的行数;
size(X,2),返回矩阵X的列数;
N=size(X,2),就是把矩阵X的列数赋值给N
比如说一个A是一个3×4的二维矩阵:
1、size(A) %直接显示出A大小
输出:ans=
3 4
2、s=size(A)%返回一个行向量s,s的第一个元素是矩阵的行数,第二个元素是矩阵的列数
输出:s=
3 4
3、[r,c]=size(A)%将矩阵A的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c
输出:r=
3
c=
4
4、[r,c,m]=size(A)
输出:r=
3
c=
4
m=
1
也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样
5、当a是一个n维行向量时,size(A)把其当成一个1×n的矩阵,因此size(a)的结果是
ans
1 n
而不是a的元素个数n
6、size(A,n)
如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的是矩阵A的行数, c=size(A,2) 该语句返回的是矩阵A的列数。
12、round函数
函数功能:四舍五入取整。
使用方法:B = round(A)
13、tic和toc是用来记录matlab命令执行的时间
tic用来保存当前时间,而后使用toc来记录程序完成时间。
两者往往结合使用,用法如下:
tic
operations
toc
显示时间单位: 秒
14、
b为二维矩阵的话,min是按列寻找最小值,并返回其各列的最小值和列号。
>> b=rand(3,3)
b =
0.6154 0.7382 0.9355
0.7919 0.1763 0.9169
0.9218 0.4057 0.4103
>> [x,m]=min(b)
x =0.6154 0.1763 0.4103%%x为各列的最小值
m =1 2 3%%m为每个最小值对应的列号15、normnorm(A),A如果是向量,二范数就是根号下(向量中每个值的平方的和)
16、n = numel(A);n= numel(A,条件);返回数组A中元素个数。若是一幅图像,则numel(A)将给出它的像素数。17、B = repmat(A,m,n)B = repmat(A,[m n])B = repmat(A,[m n p...])
这是一个处理大矩阵且内容有重复时使用,其功能是以A的内容堆叠在(MxN)的矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B = repmat(A,2,3)则最后的矩阵是6x12x5
例如:>>B=repmat( [1 2;3 4],2,3)B =
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4
其结果变为4X6。A也可以置放文字串,如:
>>C=repmat(' Long live the king!', 2,2)C =Long live the king! Long live the king!Long live the king! Long live the king!也可置放其他的:
>> D=repmat(NaN,2,5)D =NaN NaN NaN NaN NaNNaN NaN NaN NaN NaN
未完,待续。。。
- 图像处理
- 图像处理
- 处理图像
- 图像处理
- 图像处理~~
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- 图像处理
- Android自定义一款带进度条的精美按键
- Mysql的varchar(20)到底可以存储多少个中文字符
- Java NIO中的通道Channel
- 20170827_从字符串中返回最长的回文子串
- LeetCode 226. Invert Binary Tree(Python)
- 图像处理
- eclipse无法提示问题(转)
- 在主页面弹出一个弹出层
- MyBatis Generator插件之ToStringPlugin
- POJ 1061 青蛙的约会 扩展欧几里得
- 2.2字符点阵显示之应用程序
- Java NIO通信的实现
- 技术团队管理
- Android 8.0 新特性适配