【原】数字图像处理学习之一基础篇
2013-06-20 10:07
555 查看
一、矩阵
矩阵的表示:
A = [1 2 3;4 5 6;7 8 9]
表示矩阵:
1 2 3
4 5 6
7 8 9
元素 A(1,1) 为1 ,A(1,2)为2 注:下标从1,1开始
ans为 answer的缩写
矩阵运算:
1、矩阵转置: A’
2、sum(A), 矩阵每列求和,产生一个行向量,如sum(A) 结果为 12 15 18
3、如果赋值给矩阵不存在的元素,则将产生一个新的矩阵,没有赋值的地方自动补零。如:
A(1,4)=4 则A为:
1 2 3 4
4 5 6 0
7 8 9 0
4、冒号表达式, 1:10 表示在区间[1,10]的整数,1:2:10表示步为2,在区间[1,10]之间的整数1 3 5 7 9。A(1,1:3)表示A(1,1) A(1,2) A(1,3) 单独使用 : 表示一整行或一整列。如A(1,:)表示第一行。
5、关键字end表示最后一列或一行。
6、A(1,:)=[] 表示删除第一行。
7、A*B A+B A-B A/B
8、det(A) A矩阵的行列式。
9、rref(A) A的阶梯矩阵
10、inv(A) A的逆阵
11、eig(A) 求得方阵A的特征根, poly(A) 方阵A的特征多项式 http://baike.baidu.com/view/2280659.htm
12、mean(A) 每列的平均值,std(A) 每列的方差, prod(A) 每列的乘积
13、find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)
14、all函数:检测矩阵中是否全为非零元素,如果是,则返回1,否则,返回0。
any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0。
数组运算:
构造矩阵:
二、绘图
http://www.mathworks.cn/support/2009a/matlab/7.8/demos/PlotTools_viewlet_swf.html
三、流控制
if rem(n,2) ~= 0
M = odd_magic(n)
elseif rem(n,4) ~= 0
M = single_even_magic(n)
else
M = double_even_magic(n)
end
switch (rem(n,4)==0) + (rem(n,2)==0)
case 0
M = odd_magic(n)
case 1
M = single_even_magic(n)
case 2
M = double_even_magic(n)
otherwise
error('This is impossible')
end
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j);
end
end
fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
if isempty(line) || strncmp(line,'%',1) || ~ischar(line)
continue
end
if count==3
break
end
count = count + 1;
end
fprintf('%d lines\n',count);
fclose(fid);
try
statement
...
statement
catch
statement
...
statement
end
四、图片基础操作
矩阵的表示:
A = [1 2 3;4 5 6;7 8 9]
表示矩阵:
1 2 3
4 5 6
7 8 9
元素 A(1,1) 为1 ,A(1,2)为2 注:下标从1,1开始
ans为 answer的缩写
矩阵运算:
1、矩阵转置: A’
2、sum(A), 矩阵每列求和,产生一个行向量,如sum(A) 结果为 12 15 18
3、如果赋值给矩阵不存在的元素,则将产生一个新的矩阵,没有赋值的地方自动补零。如:
A(1,4)=4 则A为:
1 2 3 4
4 5 6 0
7 8 9 0
4、冒号表达式, 1:10 表示在区间[1,10]的整数,1:2:10表示步为2,在区间[1,10]之间的整数1 3 5 7 9。A(1,1:3)表示A(1,1) A(1,2) A(1,3) 单独使用 : 表示一整行或一整列。如A(1,:)表示第一行。
5、关键字end表示最后一列或一行。
6、A(1,:)=[] 表示删除第一行。
7、A*B A+B A-B A/B
8、det(A) A矩阵的行列式。
9、rref(A) A的阶梯矩阵
10、inv(A) A的逆阵
11、eig(A) 求得方阵A的特征根, poly(A) 方阵A的特征多项式 http://baike.baidu.com/view/2280659.htm
12、mean(A) 每列的平均值,std(A) 每列的方差, prod(A) 每列的乘积
13、find函数用于返回所需要元素的所在位置 (位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)
14、all函数:检测矩阵中是否全为非零元素,如果是,则返回1,否则,返回0。
any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0。
数组运算:
+ | Addition |
- | Subtraction |
.* | Element-by-element multiplication |
./ | Element-by-element division |
.\ | Element-by-element left division |
.^ | Element-by-element power |
.' | Unconjugated array transpose |
zeros | All zeros |
ones | All ones |
rand | Uniformly distributed random elements |
randn | Normally distributed random elements |
http://www.mathworks.cn/support/2009a/matlab/7.8/demos/PlotTools_viewlet_swf.html
三、流控制
if rem(n,2) ~= 0
M = odd_magic(n)
elseif rem(n,4) ~= 0
M = single_even_magic(n)
else
M = double_even_magic(n)
end
switch (rem(n,4)==0) + (rem(n,2)==0)
case 0
M = odd_magic(n)
case 1
M = single_even_magic(n)
case 2
M = double_even_magic(n)
otherwise
error('This is impossible')
end
for i = 1:m
for j = 1:n
H(i,j) = 1/(i+j);
end
end
fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
if isempty(line) || strncmp(line,'%',1) || ~ischar(line)
continue
end
if count==3
break
end
count = count + 1;
end
fprintf('%d lines\n',count);
fclose(fid);
try
statement
...
statement
catch
statement
...
statement
end
四、图片基础操作
函数 | 说明 |
imread | 读图像 |
imshow | 显示图像 |
imwrite | 保存图像 |
figure | 产生新的画图面板 |
size | 获取图片大小 |
imfinfo | 获取图片信息 |
im2uint8 im2uint16 mat2gray im2double im2bw | 图像类和类型间转换 |
plot | 绘图函数 |
imadd + imsubtract - immultiply * imdivide / imabsdiff 绝对差 imcomplement 图像求补 imlincomb 两幅或多幅图像的线性组合 | 图像算术 |
disp input strread | 交互式I/O |
相关文章推荐
- 数字图像处理的学习之路
- 数字图像处理学习笔记--图像空间域增强
- 数字图像处理初学者学习路线
- Opencv (Opencv2)结合MFC学习数字图像处理【2】---图片解码
- Opencv (Opencv2)结合MFC学习数字图像处理---显示图片
- 《Visual C++ 数字图像处理典型算法及实现》学习记录
- 冈萨雷斯数字图像处理学习3:图像增强(1)
- 学习数字图像处理(第二版) 冈萨雷斯
- 系统学习数字图像处理之形态学分析
- 冈萨雷斯数字图像处理学习3:图像增强(2)
- 数字图像处理学习笔记1- 图…
- 【学习笔记】【数字图像处理】空间滤波
- 冈萨雷斯数字图像处理学习4:频率域图像低通滤波2
- 冈萨雷斯数字图像处理学习4:频率域图像增强1
- Opencv (Opencv2)结合MFC学习数字图像处理---图片解码(2)
- 系统学习数字图像处理之形态学分析补充(灰度级处理)
- 【学习笔记】【数字图像处理】直方图均衡化
- 数字图像处理的就业前景与学习资源
- 从零开始学习数字图像处理——第一天(什么是数字图像处理,数字图像处理的基本步骤)
- Opencv (Opencv2)结合MFC学习数字图像处理---图片解码(3)