matlab图像处理介绍.ppt

上传人:sh****n 文档编号:6379141 上传时间:2020-02-24 格式:PPT 页数:46 大小:980KB
返回 下载 相关 举报
matlab图像处理介绍.ppt_第1页
第1页 / 共46页
matlab图像处理介绍.ppt_第2页
第2页 / 共46页
matlab图像处理介绍.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
MATLAB图像处理介绍 第2章MATLAB图像处理工具箱 本章教学安排2学时 讲解内容 Matlab简介 Matlab中常用的基本命令 图像处理工具箱介绍Matlab处理的图像类型和文件格式 Matlab图像的基本操作 2 1Matlab简介 MATLAB名字是MatrixLaboratory的意思 由美国的MathWorks公司出品 它的基本数据单位是矩阵 它的指令表达式与数学 工程中常用的形式十分相似 故用它来解决问题比用C Fortran等语言完成相同的事情简捷的多 在大学 数学 工程学 科学的介绍性课程和高级性课程中 MATLAB是标准的教学工具 在工厂 MATLAB是高生产率研究发展和分析的可选择的工具 MATLAB是一种直观性的语言和专业运算的环境 它已成为工程计算机方面世界上公认的标准 它被用于各种各样的应用领域 包括信号和图像处理 控制系统 设计 地球与生命科学 金融与经济 还有仪器测试 MATLAB的主要特点包括 快速准确的数字运算 图形可视化并用于分析数据 交互式语言和编程环境 图形用户界面设计的工具 可结合一些外部应用程序 包括C C Fortran Java COM部分和Excel 支持来自文件和外部设备的输入数据 且支持用低标准的文件的输入输出 加上附加的产品对入数据库和附加硬件的访问 存取 产生附加的产品 把MATLAB的应用转到带有编译器的C和C 由于直接内嵌了大量的优化数学程序 MATLAB使工程师和科学家能够专注于自己实质性的工作 避免了耗时的寻找 开发 调试以及维护代码的工作 2 2Matlab中常用的基本命令 1 矩阵生成 一般矩阵的生成 对于一般的矩阵MATLAB的生成方法有多种 最简单的方法是从键盘直接输入矩阵元素 直接输入矩阵元素时应注意 各元素之间用空格或逗号隔开 用分号或回车结束矩阵行 用中括号把矩阵所有元素括起来 例1 1在工作空间产生一个3 3矩阵A可用MATLAB语言描述如下 A 123 456 789 或A 123456789 运行结果 A 123 456 789 特殊矩阵的生成 对于特殊的矩阵可直接调用MATLAB的函数生成 用函数zeros生成全0矩阵 格式B zeros m n 生成m n的全0阵 用函数ones生成全1矩阵 格式B ones m n 生成m n的全1阵 用函数eye生成单位阵 格式B eye m n 生成m n的单位矩阵 其中对角线元素全为1 其他元素为0 用函数rand生成随机矩阵 格式B rand m n 生成m n的随机矩阵 矩阵中的元素值和线性代数一样 我们可采取下标来表述矩阵元素 同时也可以利用下标对矩阵元素进行修改 例如对例1 1中的矩阵A 如果输入A 4 则显示 ans 2若输入A 1 2 结果仍为 ans 2可见矩阵是按列存储的 若输入A 1 2 6 显示结果为 A 163456789若要选取A的第二行 可以输入A 2 则显示ans 456 2 矩阵的运算矩阵的运算有基本运算和函数运算两种类型 基本运算包括矩阵的加 减 乘 除 乘方 求转置 求逆等 其主要特点是通过MATLAB提供的基本运算符 等即可完成 例1 2矩阵的基本运算 A 1 2 3 4 5 6 B 6 5 4 3 2 1 C A B 计算两个矩阵的和 D B 计算矩阵B的转置 E A D 做矩阵乘法 必须要满足矩阵乘法的基本要求 E应该是2阶方阵 F det E 求E的行列式值 G E 1 求E的逆 问题 设有矩阵A和B 试问A B和A B的区别 3 基本语句1 循环语句MATLAB的循环语句包括for循环和while循环两种类型 for循环 语法格式 for循环变量 起始值 步长 终止值 循环体 end while循环 语法格式 while表达式 循环体 end 其执行方式为 若表达式为真 运算值非0 则执行循环体 若表达式为假 运算结果为0 则退出循环体 执行end后的语句 2 条件转移语句 条件转移语句有if和switch两种 if语句 MATLAB中if语句的用法与其他高级语言相类似 其基本语法格式有以下几种 格式一 if逻辑表达式 执行语句 end格式二 if逻辑表达式 执行语句1 else 执行语句2 end 格式三 if逻辑表达式1 执行语句1 elseif逻辑表达式2 执行语句2 end switch语句 switch语句的用法与其他高级语言相类似 其基本语法格式为 switch表达式 标量或字符串 case值1 语句1 case值2 语句2 otherwise 语句n end 4 MATLAB函数 函数及其调用方法 函数定义行 MATLAB语言在M文件的第一行用关键字 function 把M文件定义为一个函数 并指定它的名字 必须和文件名相同 同时也定义了函数的输入和输出参数 例如 求最大值函数 max 的定义可描述为 function Y I max x 函数体其中 max 为函数名 输入参数为 x 输出参数为 Y 和 I 函数调用函数调用的过程实际上就是参数传递的过程 例如 在一个脚本文件里调用函数 max 可采用如下方式 n 1 20 a sin 2 pi n 20 Y I max a 该调用过程把变量 a 传给了函数中的输入参数 x 然后把函数运算的返回值传给输出参数 Y 和 I 其中 Y是a序列的最大值 I是最大值Y对应的坐标值 注意 1 自己编写函数时 所用的函数名应和保存的m文件文件名相同 2 分清矩阵相乘和点乘的区别 3 注意文件命名 必须以字母开头 有的同学喜欢以数字或中文开头 这是错误的 2 3 1常用图像格式图像格式是指图像文件的存储格式 MATLAB中常用的图像格式有 bmp cur gif hdf ico jpg或jpeg pcx png tif或tiff等 2 3Matlab处理的图像类型和文件格式 2 3 2MATLAB图像类型MATLAB支持五种图像类型 即二值图像 索引图像 灰度图像 RGB图像和多帧图像阵列 二值图像 数据存储类型 Logical 元素值为0或1的矩阵 索引图像 把像素值直接作为RGB调色板下标的图像 一幅索引图像包含一个数据矩阵X和一个调色板矩阵map 数据矩阵为double或uint8或uint16 调色板矩阵总是一个m 3 m表示颜色数目 的double型矩阵且矩阵元素的值域为 0 1 Map矩阵的每一行指定一个颜色的R G B颜色分量 RGB图像 double型或uint8型或uint16型 又称真彩色图像 在MATLAB中存储为m n 3的数据矩阵 它表示图像中每个像素的红 绿 蓝3个颜色分量的数值 多帧图像阵列 由多帧图像组成 每一帧图像可以为前4种图像中的一种 但组成一个多帧图像阵列的图像必须为同一种 2 4图像处理工具箱简介 MATLAB图像处理工具箱的函数 按具体功能可以分为以下几类 图像显示几何操作图像注册邻域和块操作线性滤波和滤波器的设计 图像变换 形态学分析图像分析与图像增强 图像恢复颜色映射和颜色空间转换 Matlab中图像处理相关工具箱主要有 ImageAcquisitiontoolboxImageProcessingToolboxSignalProcessingToolboxWaveletToolboxStatisticsToolboxMatlabCompiler 读者也可以根据需要编写自己的函数以满足特定的需要 也可以将图像处理工具箱和其他工具箱结合起来使用 可通过 help函数名 来查看各函数的使用方法 2 5 1图像文件信息查询在MATLAB中 可以使用imfinfo函数来获取图像处理工具箱支持的任何格式图像文件的信息 该函数语法格式如下 info imfinfo filename fmt info imfinfo filename info imfinfo URL 例1 1图像文件信息查询info imfinfo cameraman tif 2 5Matlab图像的基本操作 2 5 2图像文件的读取MATLAB通过函数imread完成图像的读取 该函数语法格式如下 A imread filename fmt X map imread filename fmt imread filename imread URL imread idx CUR GIF ICO andTIFFonly imread frames idx GIFonly imread ref HDFonly imread BackgroundColor BG PNGonly A map alpha imread ICO CUR andPNGonly 例1 2数字图像的打开I imread cameraman tif 2 5 3图像文件的写入MATLAB函数imwrite来存储图像文件 该函数的语法格式如下 imwrite A filename fmt imwrite X map filename fmt imwrite filename imwrite Param1 Val1 Param2 Val2 例1 3图像文件写入I imread cameraman tif imwrite I E test1 tif 执行程序后 可以看到在路径E 下写入的图像文件 test1 tif 2 5 4图像的显示MATLAB包含两个显示图像的函数image和imagesc 另外MATLAB图像工具箱中也包含两个显示图像的函数imview和imshow 1 MATLAB图像显示函数image函数image函数的语法格式如下 image C image x y C image x y C PropertyName PropertyValue image PropertyName PropertyValue handle image 例1 4image函数的应用I imread cameraman tif figure 1 image 100 100 I 设置图像左上角坐标为 100 100 colormap gray 256 imagesc函数imagesc函数具有对显示的数据进行自动缩放的功能 函数语法如下 imagesc C imagesc x y C imagesc clims imagesc PropertyName PropertyValue h imagesc 例1 5imagesc函数显示图像和image函数显示图像比较 当采用image函数显示一个值域为 0 1 的double型数组时 不能正常显示为灰度图的形式 而imagesc函数对数据有自动缩放功能 可以显示 MATLAB工具箱中提供了两个图像显示函数imview和imshow 在实际应用中 这两个函数应用更为广泛 imshow函数imshow函数显示一幅数字图像时 将自动设置图像窗口 坐标轴和图像属性 该函数的语法格式如下imshow I n imshow I lowhigh imshow BW imshow X map imshow RGB imshow display option imshow x y A imshowfilenameh imshow 例1 6灰度图像的显示 例1 7索引图像的显示 X map imread canoe tif imshow X map 例1 8RRB图像的显示 RGB imread peppers png imshow RGB 例1 9二进制图像的显示 Imview 在图像阅览器中显示图像 语法格式为 Imview I Imview RGB Imview X map Imview I range Imviewcloseall 例灰度图像的显示ClearallI imread cameraman tif Imview I 2 5 5图像数据类型转换 excercise12 19 im2double函数将图像类型转换为double型im2uint8函数将图像类型转换为uint8型im2uint16函数将图像类型转换为uint16型 2 5 6图像类型转换 功能详见书P36 dither函数用抖动法把RGB图像转换成索引图像或把灰度图转换成二值图像gray2ind函数将灰度图或二值图转换成索引图grayslice函数将灰度图转换成索引色图像im2bw函数将真彩色图像 索引图像 灰度图像转换成二值图像 ind2rgb函数将索引色图像转换成真彩色图像mat2gray函数将数据矩阵转换成灰度图像rgb2gray函数将真彩色图像或颜色映射图转换成灰度图像Rgb2ind将真彩色图像转换成索引图像 作业 P481 3课后实验1
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!