MATLAB计算机视觉实战 - (EPUB全文下载)
文件大小:0.21 mb。
文件格式:epub 格式。
书籍内容:
MATLAB计算机视觉实战
第1章 MATLAB操作基础
第2章 计算机视觉与数字图像处理基础
第3章 基于系统对象的编程
第4章 模块化仿真
第5章 C/C++代码的生成
第6章 双目立体视觉及其程序实现
参考文献
第1章 MATLAB操作基础
MATLAB是Matrix Laboratory的简称,是一种用于数值计算、可视化及编程的高级语言和交互式环境,借助其语言、工具和内置数学函数,可以探求多种方法,比电子表格或传统编程语言(如C/C++或Java)更快地求取结果。MATLAB应用范围十分广泛,包括信号处理和通信、图像和视频处理、控制系统、测试和测量、计算金融学及计算生物学等众多应用领域。在各行业和学术机构中,有100多万工程师和科学家使用MATLAB这一技术计算语言。
1.1 矩阵操作与运算
矩阵是一种纯数学上的概念,严格遵循数学规则,运算规则主要遵循线性代数理论。从数学上看,定义由m×n个数xij(i=1,2,…,m; j=1,2,…,n)排列成m行n列的数表(如为m行n列)为矩阵。
在MATLAB中,矩阵类型的数据以数组的形式存在,也属于一种有序的数据组织形式。因此,从概念上看,在MATLAB中,矩阵是数组的一种表现形式。所以,一维数组可看作向量,而二维或更高维度的数组可看作矩阵。
1.1.1 在MATLAB中生成矩阵
一般而言,在MATLAB中创建矩阵的方式有两种:一种与枚举式直接赋值法相似,直接使用赋值语句对枚举矩阵的每个元素进行赋值;另一种则是MATLAB库函数中提供的创建特殊矩阵的基本指令。
1.生成数值矩阵
1)实数值矩阵输入
任何矩阵(向量)都可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重方括号。图1.1.1、图1.1.2展示了如何输入一个矩阵。
图1.1.1 输入一个行矩阵
图1.1.2 输入一个3×3矩阵
经验分享:上面提到的逗号和分号在输入的时候要注意输入法状态,应该在“半角”及“英文标点”格式下输入标点符号,否则会提示出错,如图1.1.3所示。
图1.1.3 MATLAB提示输入字符出错
2)向量输入
向量可以看作一维矩阵,所以上述生成矩阵的方法同样也适用于生成向量。向量也可以通过如下方式生成:
X=X0:STEP:Xn %产生以X0为初始值,步长为STEP,终值不超过Xn的数值型向量。
经验分享
Xn是该向量的最后一个分量的界限,不一定是最后一个数;
当X0<Xn时,要求STEP>0;当X0>Xn时,要求STEP<0;
STEP省略时,STEP=1。
实例如图1.1.4所示。
3)利用函数生成矩阵
特殊矩阵的生成函数如表1.1.1所示。
图1.1.5为部分特殊矩阵生成函数的使用实例。
图1.1.4 向量生成实例
表1.1.1 特殊矩阵的生成函数
经验分享:对于同一个特殊矩阵生成函数而言,存在不同的版本,主要区别在于输入参数的不同。因此,为更好地使用这些特殊矩阵生成函数,用户可以通过help命令或直接查看MATLAB的帮助目录,更加详细深入地了解这些特殊矩阵生成函数。
图1.1.5 部分特殊矩阵生成函数的使用实例
4)创建多维数组
方法1:采用直接赋值法,如图1.1.6所示。
方法2:采用cat函数。
函数:cat
格式:A=cat(n,A1,A2,…,Am)
说明:n=1和n=2时分别构造[A1;A2]和[A1,A2],都是二维数组,而n=3时可以构造出三维数组。
使用cat函数生成多维矩阵的实例如图1.1.7所示。
图1.1.6 采用直接赋值法生成多维矩阵
图1.1.7 使用cat函数生成多维矩阵实例
2.如何生成复数矩阵
复数矩阵有两种生成方式,如图1.1.8和图1.1.9所示。
图1.1.8 复数矩阵的第一种生成方式
图1.1.9 复数矩阵的第二种生成方式
1.1.2 矩阵变形操作
在具体的矩阵运算过程中,用户可能遇到需要改变矩阵形态的情况,包括改变矩阵的大小甚至结构。具体来说,矩阵的变形主要有矩阵的旋转、矩阵维度的修改与矩阵元素的删除等。MATLAB提供了一系列可以改变矩阵大小与结构的库函数,如表1.1.2所示。
表1.1.2 矩阵变形操作的库函数
图1.1.10为矩阵变形操作的库函数使用演示。
图1.1.10 矩阵变形操作的库函数使用演示
经验分享:在表1.1.2中的reshape函数功能说明里提到的“线性索引”方式指的是,在MATLAB中,矩阵中的元素沿着从左到右、从上到下的列的方向依次编号,以这种编号方式寻访矩阵中每个元素的方式称为“线性索引”方式。此外,在使用cat函数的时候,必须确保矩阵A与矩阵B在拼接的维度dim上具有相同的长度,否则将产生错误。
1.1.3 矩阵的下标引用
元素操作是MATLAB矩阵操作的重要组成部分,下标引用为元素操作提供了必要的途径。在MATLAB中,一般二维矩阵元素的数字索引方式有两种:单下标索引和双下标索引。单下标索引方式是沿着矩阵列方向的,采用列元素优先的原则,自左向右、自上而下地为矩阵中的每个元素设定单下标索引值,如图1.1.11所示。双下标索引方式则是通过二元数对与二维矩阵元素在矩阵中的行列位置的对应关系对元素进行索引,如图1.1.12所示。
图1.1.11 单下标索引值排布方式
图1.1.12 双下标索引值排布方式
MATLAB提供了基于以上两种矩阵元素寻访方式的索引表达式,如表1.1.3所示。
表1.1.3 寻访矩阵元素的索引表达式
图1.1.13为寻访矩阵元素的索引表达式使用演示。
图1.1.13 寻找矩阵元素的索引表达式使用演示
经验分享:在图1.1.13中,示例A([1 2 3],end)中的end是MATLAB中的一个关键字,用于表示该维中的最后一个元素,在该示例中表示最后一列。读者可自行构建一个m×n矩阵A并在命令行窗口中分别输入A(1:m ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » MATLAB计算机视觉实战 - (EPUB全文下载)