第11章图形图像显示ppt课件_第1页
第11章图形图像显示ppt课件_第2页
第11章图形图像显示ppt课件_第3页
第11章图形图像显示ppt课件_第4页
第11章图形图像显示ppt课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1111章章 图形图像显示图形图像显示图形图像显示是将连续数据或者离散进行数据可视化的一种图形图像显示是将连续数据或者离散进行数据可视化的一种重要处理方法。重要处理方法。MATLAB是基于向量数组的高级程是基于向量数组的高级程序语言,从本质上,序语言,从本质上,MATLAB就可以提供对图形和图像就可以提供对图形和图像处理提供有效的技术支持。本章对处理提供有效的技术支持。本章对MATLAB的图像处理的图像处理,图像格式与,图像格式与MATLAB图像类型,图像类型,MATLAB图像显示方图像显示方法和法和MATLAB图形显示命令等基础内容进行了简单介绍图形显示命令等基础内容进行了简单介绍,并介

2、绍了,并介绍了VC+调用调用MATLAB函数进行绘图和图像处理函数进行绘图和图像处理的方法,最后给出了综合实例。的方法,最后给出了综合实例。11.1 VC+11.1 VC+和和MATLABMATLAB图形图像处理混合编程图形图像处理混合编程原则原则图形图像处理的基本内容包括:以二维和三维的方式显示图图形图像处理的基本内容包括:以二维和三维的方式显示图形。对不同类型的图象进行读写和显示。处理的图像类形。对不同类型的图象进行读写和显示。处理的图像类型包括二进制图像、灰度图像、索引图像、型包括二进制图像、灰度图像、索引图像、RGB图像和图像和磁盘图像等。磁盘图像等。11.2.1 VC+11.2.1

3、VC+的图像处理方法的图像处理方法VC+处理图形图像比较复杂,在处理图形图像比较复杂,在VC+中提供了操作图像的中提供了操作图像的基础基础COM对象类对象类IPicture,如果需要读取,如果需要读取bmp,jpg等图等图像文件,则需要编写代码实现图像的打开读取),并像文件,则需要编写代码实现图像的打开读取),并在在VC+运行界面的视图区显示。运行界面的视图区显示。11.2.2 VC+11.2.2 VC+图形处理方法图形处理方法在在VC+ MFC中没有提供现成的类或函数实现正中没有提供现成的类或函数实现正玹玹,余,余玹玹曲曲线等曲线的绘制功能。通常需要使用类似的函数进行变线等曲线的绘制功能。通

4、常需要使用类似的函数进行变通实现,可以使用折线函数通实现,可以使用折线函数PolylineTo (),Polyline()等函等函数。函数的基本语法格式为:数。函数的基本语法格式为:BOOL PolylineTo( const POINT* lpPoints, int nCount );BOOL Polyline( LPPOINT lpPoints, int nCount );11.2.3 VC+11.2.3 VC+和和MATLABMATLAB图形图像处理的接口图形图像处理的接口设计设计VC+和和MATLAB混合编程进行图形图像处理,通常采用混合编程进行图形图像处理,通常采用Matcom方法进

5、行混合编程,即将方法进行混合编程,即将MATLAB的源代码译成的源代码译成同等功能的同等功能的C+源代码。然后在具体的工程中包含必要的源代码。然后在具体的工程中包含必要的lib,dll以及以及h文件,就可以完全脱离文件,就可以完全脱离MATLAB环境实现对环境实现对MATLAB函数和过程的有效调用。函数和过程的有效调用。11.3 MATLAB11.3 MATLAB图像处理基础图像处理基础本节主要介绍如何显示图像,查看内存中的图像,图像灰度本节主要介绍如何显示图像,查看内存中的图像,图像灰度分布直方图均衡化,图像文件的保存和查看图像文件中分布直方图均衡化,图像文件的保存和查看图像文件中的内容等内

6、容。的内容等内容。11.3.1 11.3.1 显示图像显示图像为了显示图像,首先清除为了显示图像,首先清除MATLAB 所有的工作平台变量所有的工作平台变量, 关关闭已打开的图形窗口。其程序代码如下闭已打开的图形窗口。其程序代码如下:clear;close all;11.3.2 11.3.2 查内存中的图像查内存中的图像使用使用whos 命令来查看图像数据命令来查看图像数据I是如何存储在内存中是如何存储在内存中, 其命其命令格式为令格式为:whos执行后执行后MATLAB中会得到如下图像的信息:中会得到如下图像的信息:Name Size Bytes ClassI 291 240 69840 u

7、int8 arrayGrand total is 69840 elements using 69840 bytes11.3.3 11.3.3 图像灰度分布直方图均衡化图像灰度分布直方图均衡化为了观察图像当前状态下亮度分布情况,可以通过使用为了观察图像当前状态下亮度分布情况,可以通过使用imhist()函数创建描述该图像灰度分布的直方图。调入函数创建描述该图像灰度分布的直方图。调入MATLAB自带的图像文件自带的图像文件pout.tif,避免直方图覆盖图像,避免直方图覆盖图像数组数组I的显示结果。的显示结果。11.3.4 11.3.4 图像文件的保存图像文件的保存将前面进行灰度值处理后的图像将前

8、面进行灰度值处理后的图像I2保存到磁盘上。若希望将保存到磁盘上。若希望将该图像保存为该图像保存为PNG格式的图像文件格式的图像文件, 可以使用可以使用imwrite()函函数并指定一个文件名数并指定一个文件名, 该文件的扩展名为该文件的扩展名为.png。其命令格。其命令格式为式为:imwrite(I2,pout2.png); 11.3.5 11.3.5 查新生成文件的内容查新生成文件的内容利用利用imfinfo()函数可以观察上述语句将什么内容保存在磁盘函数可以观察上述语句将什么内容保存在磁盘上。需要注意的是:在上。需要注意的是:在imfinfo()函数语句行末尾不要加上函数语句行末尾不要加上

9、分号,以保证分号,以保证MATLAB能够显示图像输出结果;另外,能够显示图像输出结果;另外,要保证此时的路径与调用要保证此时的路径与调用imwrite()函数时的路径一致。函数时的路径一致。使用方法为,使用方法为,imfinfo(pout2.png)11.4.1 11.4.1 常用图像格式常用图像格式图像格式指的是存储图像采用的文件格式。不同类型的操作图像格式指的是存储图像采用的文件格式。不同类型的操作系统下使用不同的图像处理软件,所支持的图像格式都系统下使用不同的图像处理软件,所支持的图像格式都有可能不同。在实际应用中经常会遇到的图像格式包括有可能不同。在实际应用中经常会遇到的图像格式包括T

10、IFTIF、GIFGIF、TIFFTIFF、PCXPCX、WMFWMF、JPEGJPEG、PSDPSD、PCDPCD等。等。11.4.2 MATLAB11.4.2 MATLAB图像类型图像类型图像类型是指数组数值与像素颜色之间定义的关系,它与图图像类型是指数组数值与像素颜色之间定义的关系,它与图像格式概念有所不同,在像格式概念有所不同,在MATLAB 图像处理工具箱中,图像处理工具箱中,有五种类型的图像有五种类型的图像1.二进制图像二进制图像2.索引图像索引图像3.多帧图像多帧图像4.灰度图像灰度图像5.RGB 图像图像11.4.3 MATLAB11.4.3 MATLAB图像类型转换图像类型转

11、换MATLAB图像处理工具箱支持索引图像、灰度图像、二进图像处理工具箱支持索引图像、灰度图像、二进制图像和真色彩制图像和真色彩RGB图像等基本图像类型。这些图图像等基本图像类型。这些图像类型可以根据需要进行相互转换,像类型可以根据需要进行相互转换,MATLAB中图像类中图像类型的转换主要通过函数来实现型的转换主要通过函数来实现11.5 MATLAB11.5 MATLAB图像显示命令图像显示命令图像的显示过程就是将图像从一组离散数据还原为一幅可见图像的显示过程就是将图像从一组离散数据还原为一幅可见的图像。图像的显示是提高图像处理分析性能非常有用的图像。图像的显示是提高图像处理分析性能非常有用的一

12、个手段,通过图像的显示,可以监视图像处理过程的一个手段,通过图像的显示,可以监视图像处理过程,并与处理分析交互地控制处理分析过程。图像显示最,并与处理分析交互地控制处理分析过程。图像显示最重要的特性是图像的大小、光度分辨率、灰度线性、平重要的特性是图像的大小、光度分辨率、灰度线性、平坦能力和噪声特性等,这些特性将共同决定一个数字图坦能力和噪声特性等,这些特性将共同决定一个数字图像显示系统的质量,以及其在特定应用中的适用性等性像显示系统的质量,以及其在特定应用中的适用性等性能指标。能指标。11.5.1 MATLAB11.5.1 MATLAB图像的读写和显示图像的读写和显示1.读写图像文件读写图像

13、文件2.图像的显示函数图像的显示函数11.5.2 11.5.2 二进制图像的显示方法二进制图像的显示方法在在MATLAB中,二进制图像是一个逻辑类,仅包括中,二进制图像是一个逻辑类,仅包括 0 和和 1 两个数值。像素两个数值。像素0显示为黑色,像素显示为黑色,像素1显示为白色。显示显示为白色。显示时,也可通过时,也可通过NOT()命令,对二进制图象进行取反,使命令,对二进制图象进行取反,使数值数值 0 显示为白色;显示为白色;1 显示为黑色。显示为黑色。Imshow()函数显示二函数显示二进制位图的语法如下:进制位图的语法如下:imshow(BW)11.5.3 11.5.3 灰度图像的显示方

14、法灰度图像的显示方法存储灰度图像只需要一个数据矩阵进行显示。数据类型可以存储灰度图像只需要一个数据矩阵进行显示。数据类型可以是是double,0,1;也可以是;也可以是uint8。调用。调用imshow函数显函数显示灰度图像的语法如下:示灰度图像的语法如下:imshow(I)imshow(I,N)11.5.4 11.5.4 索引图像的显示方法索引图像的显示方法索引图像包含两个结构:一个是调色板,另一个是图像数据索引图像包含两个结构:一个是调色板,另一个是图像数据矩阵。调色板是一个有矩阵。调色板是一个有3列和若干行的色彩映象矩阵,矩列和若干行的色彩映象矩阵,矩阵每行代表一种颜色,阵每行代表一种颜

15、色,3列分别代表红、绿、蓝色强度的列分别代表红、绿、蓝色强度的双精度数。利用双精度数。利用imshow()函数显示函数显示MATLAB的索引图像的索引图像时,可以同时指定图像的数据矩阵和颜色映射表,语法时,可以同时指定图像的数据矩阵和颜色映射表,语法格式为,格式为,imshow(X,map)其中,对于其中,对于X中的每个像素,中的每个像素,imshow都将其显示为存储在都将其显示为存储在map映射表矩阵的相应的行所对应的颜色。映射表矩阵的相应的行所对应的颜色。11.5.5 RGB11.5.5 RGB图像的显示方法图像的显示方法1.image(RGB) 2.imshow(RGB) 11.5.6

16、11.5.6 磁盘图像的直接显示磁盘图像的直接显示可以使用以下命令直接显示硬盘上的图像文件,语法格式为可以使用以下命令直接显示硬盘上的图像文件,语法格式为,imshow filename其中,参数其中,参数filename 为要显示的图像文件的文件名。为要显示的图像文件的文件名。 如果图如果图像是多帧的,那么像是多帧的,那么 imshow()函数将仅显示第一帧。但需函数将仅显示第一帧。但需注意,在使用这种方式时,图像数据没有保存在注意,在使用这种方式时,图像数据没有保存在MATLAB的工作空间中。如果希望将图像装入工作空间的工作空间中。如果希望将图像装入工作空间中,需使用中,需使用getima

17、ge()函数从当前的句柄图形图像对象中函数从当前的句柄图形图像对象中获取图像数据,其简单的语法形式为:获取图像数据,其简单的语法形式为: rgb getimage; 11.6 MATLAB11.6 MATLAB图形显示命令图形显示命令MATLAB提供了很多图形显示命令。用户可以根据需要选提供了很多图形显示命令。用户可以根据需要选择不同的命令进行二维图形、三维图形、以及饼图,直择不同的命令进行二维图形、三维图形、以及饼图,直方图等特殊图形的绘制,一些图形显示命令的功能简介方图等特殊图形的绘制,一些图形显示命令的功能简介如下,具体的使用语法格式可以参考如下,具体的使用语法格式可以参考MATLAB的

18、帮助文的帮助文件。件。11.7 VC+11.7 VC+和和MATLABMATLAB图形图像处理应用实例图形图像处理应用实例本节给出了本节给出了VC+中调用中调用MATLAB函数画图、利用函数画图、利用Matcom绘制动态曲线以及二维和三维曲线绘制综合应用的三个绘制动态曲线以及二维和三维曲线绘制综合应用的三个实例。实例。11.7.1 VC+11.7.1 VC+中调用中调用MATLABMATLAB函数画图函数画图通过通过VC+编程调用编程调用MATLAB函数进行绘图主要有两种方法函数进行绘图主要有两种方法,一种方法是在,一种方法是在VC+中调用中调用MATAB生成的生成的COM组件,组件,调用调用COM组件的方法,第二种方法是通过组件的方法,第二种方法是通过MATCOM的的方法调用方法调用MATLAB函数的方法。第一种方法在第七章已函数的方法。第一种方法在第七章已经介绍并给出了实例,本节将介绍第二种方法。经介绍并给出了实例,本节将介绍第二种方法。11.7.2 11.7.2 利用利用MatcomMatcom绘制动态曲线绘制动态曲线在实际的科学研究和工程应用中,绘制曲线图形通常会涉及在实际的科学研究和工程应用中,绘制曲线图形通常会涉及到静态曲线和动态曲线,静态曲线由于函数关系明确,到静

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论