- ISBN:9787030750945
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:208
- 出版时间:2023-03-01
- 条形码:9787030750945 ; 978-7-03-075094-5
内容简介
本书介绍了MATLAB的基础知识,图像处理工具箱函数、图像处理基本理论、基本方法、实验用到的MATLAB函数和自定义函数,并提供了图像处理实验的具体实例。全书共分10章,包括MATLAB编程基础、图像处理工具箱、图像增强实验——亮度变换与空间滤波、图像增强实验——频域滤波、图像复原实验、几何变换与图像配准实验、彩色图像处理实验、图像压缩实验、形态学图像处理实验、图像分割实验。
目录
第1章 MATLAB编程基础 1
1.1 MATLAB快速入门 1
1.1.1 矩阵与数组 1
1.1.2 数组引用 4
1.1.3 字符串 4
1.1.4 函数调用 5
1.1.5 二维和三维图形 5
1.2 MATLAB函数 8
1.3 MATLAB编程 11
1.3.1 控制流语句 11
1.3.2 编辑脚本文件 12
1.3.3 定义MATLAB函数 13
第2章 图像处理工具箱 15
2.1 图像输入、输出与类型转换 15
2.1.1 基本的图像输入输出 15
2.1.2 图像类型转换 17
2.2 图像显示与探索 19
2.2.1 基本图像显示 19
2.2.2 用图像观看工具进行交互式图像探索 19
2.3 图像几何变换与图像配准 20
2.3.1 图像几何变换 21
2.3.2 图像配准 23
2.4 图像增强 25
2.4.1 对比度调整 25
2.4.2 图像滤波 26
2.4.3 形态学运算 28
2.4.4 去模糊 31
2.4.5 基于区域的处理 32
2.4.6 邻域和块处理 34
2.4.7 图像算术运算 34
2.5 图像分析与分割 35
2.5.1 目标分析 35
2.5.2 区域与图像属性 36
2.5.3 纹理分析 38
2.5.4 图像质量 38
2.5.5 图像分割 39
2.5.6 图像变换 42
2.6 彩色模型 43
第3章 图像增强实验——灰度变换与空间滤波 46
3.1 实验目的 46
3.2 实验原理 46
3.2.1 图像灰度变换 46
3.2.2 图像空间滤波 47
3.3 相关的MATLAB 函数 48
3.3.1 灰度变换函数 48
3.3.2 直方图处理函数 49
3.3.3 空间滤波函数 50
3.4 实验举例 52
习题 61
第4章 图像增强实验——频域滤波 64
4.1 实验目的 64
4.2 频域滤波基础 64
4.2.1 二维离散傅里叶变换 64
4.2.2 频域滤波 65
4.2.3 频域低通滤波 66
4.2.4 频域高通滤波 67
4.2.5 高频强调滤波 68
4.3 相关的MATLAB函数 69
4.4 实验举例 72
习题 77
第5章 图像复原实验 78
5.1 实验目的 78
5.2 图像复原基础 78
5.2.1 图像退化与复原模型 78
5.2.2 噪声模型 78
5.2.3 退化函数估计 80
5.2.4 图像复原的滤波方法 80
5.2.5 利用Lucy-Richardson算法复原图像 82
5.2.6 利用盲去卷积复原图像 82
5.3 相关的MATLAB 函数 83
5.4 实验举例 85
习题 91
第6章 几何变换与图像配准实验 93
6.1 实验目的 93
6.2 几何变换基础 93
6.2.1 坐标变换 93
6.2.2 仿射变换 94
6.2.3 投影变换 95
6.2.4 图像插值 95
6.2.5 图像配准 97
6.3 相关的MATLAB 函数 98
6.3.1 几何变换函数 98
6.3.2 控制点配准函数 100
6.3.3 自动配准函数 101
6.3.4 基于区域的图像配准函数 102
6.4 实验举例 103
习题 107
第7章 彩色图像处理实验 109
7.1 实验目的 109
7.2 彩色图像表示与彩色空间转换 109
7.2.1 彩色图像表示 109
7.2.2 彩色空间 110
7.2.3 独立于设备的彩色空间 114
7.3 彩色图像处理基础 117
7.3.1 彩色变换 117
7.3.2 彩色图像空间滤波 117
7.3.3 RGB矢量空间中的彩色图像处理 118
7.4 相关的MATLAB函数 119
7.4.1 彩色空间转换函数 119
7.4.2 彩色图像处理函数 121
7.5 实验举例 123
习题 128
第8章 图像压缩实验 130
8.1 实验目的 130
8.2 图像压缩原理 130
8.3 静止图像压缩 132
8.3.1 霍夫曼编码 132
8.3.2 JPEG图像压缩 133
8.3.3 JPEG2000图像压缩 135
8.4 相关的MATLAB函数 137
8.4.1 霍夫曼(Huffman)函数 137
8.4.2 JPEG图像压缩函数 138
8.4.3 JPEG2000图像压缩函数 138
8.5 实验举例 140
习题 143
第9章 形态学图像处理实验 146
9.1 实验目的 146
9.2 实验原理 146
9.2.1 膨胀和腐蚀运算 146
9.2.2 开运算和闭运算 147
9.2.3 击中或击不中变换 148
9.2.4 连通分量的标记 148
9.2.5 灰度形态学 148
9.3 相关的MATLAB函数 149
9.3.1 结构元素构造函数 149
9.3.2 膨胀函数与腐蚀函数 150
9.3.3 开运算函数和闭运算函数 151
9.3.4 击中或击不中变换用到的函数 151
9.3.5 bwmorph函数 152
9.3.6 连通分量函数 153
9.4 实验举例 153
习题 161
第10章 图像分割实验 165
10.1 实验目的 165
10.2 实验原理 165
10.3 孤立点、线和边缘检测 165
10.3.1 孤立点与线检测 165
10.3.2 边缘检测 167
10.4 基于阈值的图像分割 169
10.4.1 全局阈值分割 169
10.4.2 局部阈值分割 170
10.5 基于区域生长的分割 171
10.5.1 基本概念 171
10.5.2 区域生长 171
10.5.3 区域分离与合并 171
10.6 基于分水岭变换的分割 172
10.7 相关的MATLAB函数 173
10.7.1 孤立点、线和边缘检测函数 173
10.7.2 基于阈值的图像分割函数 174
10.7.3 区域生长的函数 175
10.7.4 区域分离与合并的函数 175
10.7.5 基于分水岭分割所用到的函数 176
10.8 实验举例 177
习题 193
参考文献 197
节选
第1章MATLAB编程基础 MATLAB是美国MATHWORKS公司推出的一款用于数值计算、可视化、编程的高级语言和交互式开发环境。采用MATLAB可进行数据分析、算法开发、模型创建。利用MATLAB语言、工具及内嵌数学函数,可进行多种方法的探索,快速实现解决方案。MATLAB应用范围很广,包括信号处理和通信、图像与视频处理、控制系统、试验与测量、计算金融学、计算生物学等,工业界和学术界数以百万计的工程师和科学家都在使用MATLAB这门科学计算语言。 MATLAB语言具有如下特点。 (1)一种可视化和应用开发的高级语言。 (2)可实现交互式探索,设计和问题求解的交互式开发环境。 (3)求解一般微分方程的数学函数,如线性代数、统计、傅里叶分析、滤波器、优化、数值积分。 (4)内嵌用于数据可视化和创建用户图形的图形学工具。 (5)用于改进代码质量,增加可维护性,性能*大化的开发工具。 (6)具有将基于MATLAB的算法与外部应用和C语言、Java语言、NET语言等集成的函数。 MATLAB是matrix laboratory的缩写,意为矩阵实验室。不同于其他编程语言(大部分一次处理一个数),MATLAB是对整个矩阵和数组进行运算。无论哪种数据类型,所有MATLAB变量都是多维数组。矩阵就是一个用于线性代数的二维数组。 1.1MATLAB快速入门 基于矩阵的MATLAB语言是*适合计算数学表达的方式之一。其内置图形使数据易于可视化,帮助用户深入洞悉数据特性。MATLAB可以帮助用户将想法扩展到桌面之外,对更大的数据集进行分析,并扩展到集群和云。 1.1.1矩阵与数组 与其他编程语言每次只处理一个数不同,MATLAB是对整个矩阵和数组进行运算。矩阵是常用于线性代数的二维数组。 1.数组创建 创建数组和矩阵可以采用多种方式。 创建一维数组,可用逗号或空格将数组元素分开。例如,输入a=[1234]或a=[1,2,3,4]并回车,命令窗口会显示: 数组a是一个行矢量。 创建矩阵,可用分号将行与行分隔开。例如,输入A=[123;456;789]并回车,命令窗口会显示: 创建矩阵还可以米用函数实现,如ones、zeros、rand等。例如,创建一个元素全为0的行矢量z,可用命令z=zeros(1,5),命令窗口会显示: 2.矩阵和数组运算 MATLAB允许用于一个算术运算符或函数对矩阵的所有元素进行运算。例如, 矩阵转置运算采用单引号实现。例如, MATLAB可进行标准的矩阵乘法运算,用星号算符实现,例如,验证矩阵a与其逆矩阵的乘积是否为单位矩阵,注意p不是整数值矩阵,因为MATLAB是以浮点形式存储数值的,而算术运算对于实际值与其浮点表示值的微小差别很敏感。可以用format命令显示更多有效位。 矩阵按元素的乘法可用算符实现。例如, 矩阵乘法、除法、幂运算都有相应的按元素进行计算的算符。例如,计算矩阵a的元素的三次方。 3.数组连接 MATLAB可将多个数组连接起来成为一个更大的数组。实际上,单个元素连接起来就构成一个数组,这时连接算符是方括号“[]:连接,这时要求两个数组行数相同。类似地,垂直方向的连接。例如,”。用逗号将两个数组连接起来,称为水平用分号可将具有相同列数的两个数组进行垂直方向的连接。例如, 4.复数 复数由实部和虚部构成,其中虚数单位是-1的平方根。在MATLAB中,可以用或j表示复数的虚部。例如, 1.1.2数组引用 MATLAB中的每一个变量都是一个数组,可以保存多个数。如果要存取一个数组中指定的元素,可以采用引用方法。例如,4X4魔方阵, 引用数组中特定的元素有两种方法,一种方法是用元素的行和列下标来引用。例如, 另一种方法是用一个下标来引用,下标排列顺序为按列从上到下、从左到右的顺序,这种引用方法称为线性引用。例如, 引用数组中的多个元素,可以用冒号来确定起始位置和终止位置。单独的冒号,没有起始值和终止值,则表示引用该维度的全部元素。例如, 冒号还可以用来创建等间隔大小的向量,格式为“起始值:步长:终止值”。如果步长为1,则可以省略。例如, 1.1.3字符串 字符串是一个用两个单引号引起来的任意多个字符构成的序列,可以将字符串赋给变量。例如, 如果文字中己包含单引号,则在定义中需要用两个单引号。例如, 同所有MATLAB变量一样,myText和otherText都是数组。它们的数据类型是char, 这是短字符型数据,用whos命令可以看到。 与连接数值型数组一样,可以用方括号“[]”连接字符串。例如, 用函数num2str或int2str可以将数值转换为字符串。例如, 1.1.4函数调用 MATLAB提供了大量的函数用于完成计算任务。这里的函数相当于其他编程语言中的子程序或方法。 一般的函数包含输入参数和输出参数。输入参数用圆括号“()”括起来,若有多个输入参数,则它们之间用逗号分隔开;输出参数用方括号“[]”括起来,若有多个输出参数,则它们之间也用逗号分隔开;若输入参数是字符串,则用单引号引起来;有的函数既没有输入参数,也没有输出参数,如clc、clf等,直接输入函数名即可。 1.1.5二维和三维图形 用函数plot可以绘制二维线图。例如,绘制0到2n正弦函数曲线,可用下面的语句实现。 后三条语句的作用是给坐标轴加标注、给图形加标题。绘制的正弦曲线如图1-1所示。在plot调用中加入第三个和第四个参数,可以修改线型、颜色和线宽。例如,用可绘制如图1-2所示的正弦曲线。 如果要在一个图形窗口中绘制两条或多条曲线,可以用holdon命令保持当前图形窗口,直到用hold off命令关闭保持功能,所有曲线都绘制在当前的图形窗口中。例如,
-
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
粒子群算法在优化选取问题中的应用研究
¥40.8¥68.0 -
Web前端开发基础
¥36.5¥57.0 -
智能算法优化及其应用
¥49.0¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥66.8¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥68.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
生成式人工智能(AIGC)应用
¥71.1¥90.0 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0