第五章 MATLAB在光电图像处理中的应用

合集下载

Matlab技术在图像处理中的应用

Matlab技术在图像处理中的应用

Matlab技术在图像处理中的应用引言:图像处理在现代科学技术中占据了重要的地位,无论是在医学、工程还是娱乐行业,图像处理技术都扮演着至关重要的角色。

而Matlab作为一款功能强大的编程语言和环境,被广泛应用于图像处理领域。

本文将从图像增强、图像滤波、图像分割和图像识别等方面,探讨Matlab技术在图像处理中的应用。

1. 图像增强图像增强是改善图像质量,使得图像更符合人眼视觉感知的过程。

Matlab提供了丰富的图像增强函数和工具箱,可以通过调整图像的对比度、亮度、饱和度等参数来增强图像质量。

例如,可以使用imadjust函数对图像进行灰度拉伸,将图像的像素值映射到更广的灰度范围,从而增强图像的对比度。

另外,Matlab还提供了直方图均衡化函数histeq,通过重新分布图像的灰度级,使得图像的直方图更均衡,从而提高图像的视觉效果。

2. 图像滤波图像滤波是将图像传递通过滤波器,以消除图像中的噪声或者改善图像的细节。

Matlab提供了各种滤波函数和工具,包括线性滤波、非线性滤波、频域滤波等。

例如,可以使用imfilter函数进行线性滤波,如高斯滤波器、中值滤波器等。

另外,Matlab还提供了快速傅里叶变换函数fft2,可以对图像进行频域滤波,如带通滤波器、陷波滤波器等。

3. 图像分割图像分割是将图像划分为不同的区域或者对象的过程。

Matlab中提供了多种图像分割算法和函数。

例如,可以使用基于阈值的分割算法,通过设定合适的阈值将图像的像素分为不同的类别。

另外,Matlab还提供了基于区域的分割算法,如分水岭算法、区域增长算法等。

这些算法可以根据图像的纹理、颜色、亮度等特征,将图像分割为不同的区域,便于进一步的处理和分析。

4. 图像识别图像识别是通过对图像进行特征提取和分类,来识别图像中的对象或者场景。

Matlab中提供了多种图像识别的函数和工具箱,如SVM分类器、k近邻分类器等。

通过提取图像的颜色、纹理、形状等特征,可以训练分类器来对图像进行分类和识别。

matlab在图像处理中的应用

matlab在图像处理中的应用

计算机图像识别技术检测羊绒羊毛混纺比摘要: 对进一步提高计算机图像识别技术检测羊绒和羊毛混纺比检测精度的方法进行了研究。

综述了山羊绒和羊毛混纺比检测方法的研究现状, 分析了现有检测方法存在的问题, 探讨了影响检测精度的因素, 同时提出了一种基于二元指标的新的检测方法。

证明了该方法的可行性, 但有待于搭建模型进一步论证。

关键词:混纺比; 检测; 二元指标; 图像处理前言:从降低产品成本, 原料性能互补, 方便加工等方面考虑, 生产商常采用山羊绒与其他纤维( 主要是细羊毛) 混纺加工; 从维护消费者权益, 提高纱线质量监控和产品研制的角度出发, 有效、正确地鉴别毛绒类纤维又显得极为重要。

国内外学者对测试方法的研究已经很广泛, 但由于人工干预和各传统方法的局限性, 其成本、精度、速度及数据的稳定性还无法令人满意。

计算机图像识别技术在纺织业中的应用检测开拓了新思路。

用传统方法辅以计算机提取特征参数自动识别纤维, 测量混纺比, 是实现低成本、快速、准确检测混纺比的新途径。

目前, 此方法在优化提取的特征参数和图像处理的算法上还具有很大的研究空间。

图像处理过程是在不改变图像基本特征的情况下要把原图像处理成实验所需的二值图像。

检测方法研究现状目前检测山羊绒纤维和羊毛类纤维比较成熟的方法主要有光学投影显微镜法、扫描电镜法、溶液鉴别法、计算机图形分析法和生物芯片法等。

每种方法各具特色, 但从经济、技术角度和检测速度上看,普遍使用的是光学投影显微镜法 , 在区分出纤维种类的基础上, 可以计算其各自的含量得到纤维混纺比。

近年来, 通过交流沟通, 误差有所减小, 但仍然急需一种客观的检测方法。

在混纺比检测方法方面, 广州大学纺织服装学院曾志明提出了计算机辅助染色法检测山羊绒与羊毛类纤维混纺比的方法, 其核心思想是运用普通显微镜检测染色纤维的色彩特征量值和纤维细度值, 建立羊绒与羊毛纤维鉴别与计数的数字化模型,开发一个自动检测软件, 但运用该软件只能对经过确定染色条件进行染色处理的未知混纺比试样自动检测。

matlab-光电图像处理实验(傅立叶变换)

matlab-光电图像处理实验(傅立叶变换)

光学图像处理实验报告学生姓名:班级:学号:指导教师:日期:一、实验室名称:二、实验项目名称: 图像变换三、实验原理:傅立叶变换是信号处理领域中一个重要的里程碑,它在图像处理技术中同样起着十分重要的作用,被广泛的应用于图像特征提取、图像增强与恢复、噪声抑制、纹理分析等多个方面。

1、离散傅立叶变换(DFT ):要把傅立叶变换应用到数字图像处理当中,就必须处理离散数据,离散傅立叶变换的提出使得这种数学方法能够和计算机技术联系起来。

正变换:逆变换:幅度:相位角:功率谱:2、快速傅立叶变换(FFT ): 离散傅立叶变换运算量巨大,计算时间长,其运算次数正比于N^2,当N 比较大的时候,运算时间更是迅速增长。

二快速傅立叶变换的提出将傅立叶变换的复杂度由N^2下降到了NlgN/lg2,当N 很大时计算量可大大减少。

而快速傅立叶变换(FFT)需要进行基2或者基4的蝶形运算,算法上面较离散傅立叶变换困难。

∑∑-=-=+-=1010)//(2),(1),(M x N y N vy M ux j e y x f MN v u F π∑∑-=-=+=1010)//(2),(),(M x N y N vy M ux j e v u F y x f π3、离散余弦变换(DCT):为FT 的特殊形式,被展开的函数是实偶函数的傅氏变换,即只有余弦项。

变换核固定,利于硬件实现。

具有可分离特性,一次二维变换可分解为两次一维变换。

正变换:逆变换:其中:四、实验目的:1. 了解各种图像正交变换的作用和用途;2. 掌握各种图像变换的方法和原理;3. 熟练掌握离散傅立叶变换(DFT)、离散余弦变换(DCT)的原理、方法和实现流程,熟悉两种变换的性质,并能对图像傅立叶变换的结果进行必要解释;4. 熟悉和掌握利用Matlab 工具进行图像傅立叶变换及离散余弦变换的基本步骤、MATLAB 函数使用及具体变换处理流程;5. 能熟练应用Matlab 工具对图像进行FFT 及DCT 处理,并能根据需要进行必要的频谱分析和可视化显示。

使用Matlab进行光学图像处理和计算机视觉

使用Matlab进行光学图像处理和计算机视觉

使用Matlab进行光学图像处理和计算机视觉在当今数字化时代,光学图像处理和计算机视觉已成为科学研究和工程应用中不可或缺的重要领域。

随着现代科技的快速发展,计算机视觉在人们的日常生活中发挥着越来越重要的作用。

而Matlab作为一种强大的科学计算软件,具备优秀的图像处理和计算机视觉功能,被广泛应用于这一领域。

光学图像处理是指通过光学器件、传感器或电子设备等将外界的光信号转换为数字图像,并对该图像进行各种处理和分析。

首先,在图像处理的前期工作中,我们需要对图像进行预处理。

在Matlab中,可以利用图像增强、滤波和去噪等技术对图像的质量进行提升。

例如,可以通过对比度增强、直方图均衡化和锐化等方法提高图像的清晰度和视觉效果。

同时,利用滤波器对图像进行去噪处理,可以有效消除由于图像采集和传输过程中引入的噪声,提高图像的信噪比。

接下来,在图像处理的中期工作中,我们可以利用Matlab提供的函数和工具箱进行图像分割和特征提取。

图像分割是将图像分解为多个具有相似特征的区域的过程,常用的方法包括阈值分割、边缘检测和区域生长等。

通过图像分割,我们可以将图像中的目标物体从背景中提取出来,为后续的目标检测、跟踪和识别等任务提供支持。

而图像特征提取则是从图像中提取出具有区分度的特征信息,通常包括颜色、纹理、形状和边缘等。

利用这些特征,可以实现对图像中目标物体的识别和分类。

最后,在图像处理的后期工作中,我们可以利用Matlab提供的函数和工具箱进行图像重建和图像合成。

图像重建是指通过一系列的数学和物理模型,对已知图像进行恢复或重建的过程。

例如,通过利用MATLAB中提供的反卷积算法,可以对由于传感器或光学系统等原因引起的图像模糊进行修复。

同时,图像合成是将不同来源的图像进行融合和合成的过程。

例如,通过融合可见光图像和热红外图像,可以实现对夜间目标的检测和识别。

除了光学图像处理,计算机视觉也是一个快速发展的研究领域。

计算机视觉通过模仿人类的视觉系统,利用计算机对数字图像和视频进行分析和理解。

MATLAB图像处理实战技巧

MATLAB图像处理实战技巧

MATLAB图像处理实战技巧第一章:图像读取和显示在MATLAB中,我们可以使用imread函数读取图像文件,并使用imshow函数显示图像。

图像可以保存在不同格式的文件中,如JPEG、PNG或BMP。

读取文件时,MATLAB会将图像转换为矩阵,每个像素对应于矩阵中的一个元素。

显示图像时,MATLAB会将矩阵重新转换为图像,以便我们可以直观地观察图像内容。

第二章:图像预处理图像预处理是图像处理的重要一步,用于提取图像中感兴趣的信息。

常见的图像预处理技术包括灰度化、平滑、增强和边缘检测。

灰度化可以将彩色图像转换为灰度图像,简化了后续处理的复杂性。

平滑可以消除图像中的噪声,常用的平滑滤波器有均值滤波和中值滤波。

增强可以提高图像的对比度和清晰度,常用的增强方法有直方图均衡化和对数变换。

边缘检测可以检测和提取图像中的边缘信息,常用的边缘检测算法有Sobel算子和Canny算子。

第三章:图像分割图像分割是将图像分成若干个区域或对象的过程。

图像分割在计算机视觉和图像处理中扮演着重要的角色,可用于识别和分析图像中的各个元素。

常用的图像分割技术有阈值分割、区域生长和基于边缘的分割。

阈值分割通过设置一个或多个阈值来将图像分为不同的区域。

区域生长通过选取种子点并在其周围生长来形成区域。

边缘分割通过检测图像中的边缘来分割图像。

第四章:图像特征提取图像特征提取是将图像转换为具有辨识性的特征向量的过程。

图像特征可以用来描述图像中的内容,并用于图像分类和识别等任务。

常用的图像特征包括颜色特征、纹理特征和形状特征。

颜色特征可以通过提取图像的颜色直方图或颜色矩来表示。

纹理特征可以通过提取图像的纹理统计信息来表示,如灰度共生矩阵和小波变换。

形状特征可以通过提取图像的轮廓或形状描述符来表示。

第五章:图像配准图像配准是将两幅或多幅图像的坐标系进行对齐的过程。

图像配准可以用于图像融合、图像拼接和图像配对等应用。

常用的图像配准方法有基于特征的配准和基于相位相关的配准。

使用MATLAB进行图像处理的基本方法

使用MATLAB进行图像处理的基本方法

使用MATLAB进行图像处理的基本方法第一章:介绍MATLAB图像处理工具箱MATLAB是一种用于算法开发、数据可视化和数值计算的高级工具。

图像处理是MATLAB中重要的应用之一,其图像处理工具箱提供了许多功能强大的函数和工具,能够完成各种图像处理任务。

1.1 图像处理基础图像处理是通过计算机对图像进行分析、处理和改变的过程。

它可以用于增强图像的质量、从图像中提取有用的信息或特征,以及实现图像的压缩和恢复等任务。

1.2 MATLAB图像处理工具箱的功能MATLAB图像处理工具箱提供了丰富的函数和工具,包括图像读取和写入、图像增强、图像分割、图像滤波、图像变换等。

这些功能可以帮助用户对图像进行各种处理和分析。

第二章:图像预处理图像预处理是图像处理的第一步,其目的是消除图像中的噪声和其他不必要的信息,使后续的处理更加准确和有效。

2.1 图像读取和显示在MATLAB中,可以使用imread函数读取图像,imshow函数显示图像。

读取图像后,可以对图像进行显示、调整亮度和对比度等操作。

2.2 图像增强图像增强是通过对图像的像素值进行调整,改善图像的视觉质量。

常用的图像增强方法有直方图均衡化、对比度拉伸和滤波等。

第三章:图像分割图像分割是将图像划分成若干个具有独立意义的部分的过程。

图像分割可以帮助我们识别并提取出感兴趣的目标,进行后续的处理和分析。

3.1 基于阈值的图像分割阈值分割是一种简单且有效的图像分割方法,其思想是将图像中的像素分成前景和背景两部分。

MATLAB提供了imbinarize函数用于阈值分割。

3.2 基于边缘的图像分割边缘分割基于图像中物体的边界特征,通过检测图像中的边缘来实现图像分割。

MATLAB中的边缘检测函数包括edge和gradient。

第四章:图像滤波图像滤波是对图像进行平滑或增强处理的过程,它可以帮助去除图像中的噪声、增强图像的边缘和细节等。

4.1 线性滤波线性滤波是一种基于加权和求和的滤波方法,常用的线性滤波器有均值滤波器和高斯滤波器等。

第五章MATLAB在光电图像处理中应用

第五章MATLAB在光电图像处理中应用
“CQUPT.bmp”的图片第五文章M件AT。LAB应在用光电图像处理中
• 5.2.4添加颜色条 • MATLAB提供了一个colorbar函数,将颜色条添加到坐标轴
中,颜色条将对应于图像中使用的不同颜色数值。格式: • colorbar('vert') • colorbar('horiz') • colorbar(h) • h=colorbar(…) • colorbar('vert')和colorbar('horiz')指定了颜色条的显示方
第五章MATLAB在光电图像处理中 应用
• 5.1.2 RGB图像 • “真彩色”是RGB颜色的另一种流行叫法。从技术角度考
虑,真彩色是指写到磁盘上的图像类型,而RGB颜色是指显 示器的显示模式RGB图像的颜色是非映射的,它可以从系统 的“颜色表”里自由获取所需的颜色,这种图像文件里的颜 色直接与PC机上的显示颜色相对应。在真彩色图像中,每 一个像素由红、绿和蓝这三个字节组成,每个字节为8bit, 表示0~255之间的不同的亮度值,这三个字节组合可以产生 40962种不同的颜色。 • MATLAB中的RGB数组可以是双精度的浮点数类型、8位 或16位无符号的整数类型。在RGB的双精度型数组中,每一 种颜色用0和1之间的数值表示。

二值图像可以保存为双精度或类型的数组,显然使用类
型更节省空间。在图像处理工具箱中,任何一个返回二进制
图像的函数都是以类型逻辑数组来返回的。
第五章MATLAB在光电图像处理中 应用
• 5.1.4灰度图像 • 在MATLAB中,灰度图像是保存在一个矩阵中的,矩阵中
的每一个元素代表一个像素点。矩阵可以是双精度类型,其 值域为[0,1];矩阵也可以是unit8类型,其数据范围为[0,255] 。矩阵的每一个元素代表不同的亮度或灰度级,其中,亮度 为0,表示黑色;亮度为1(或者unit8类型的255),则代表 白色。

Matlab在图像处理中的应用与技巧

Matlab在图像处理中的应用与技巧

Matlab在图像处理中的应用与技巧引言图像处理是计算机科学领域中的一个重要分支,通过对图像进行处理和分析,可以获得许多有价值的信息。

而MATLAB作为一个强大的计算软件,具备了丰富的图像处理函数和工具箱,可以帮助我们实现各种复杂的图像处理任务。

本文将介绍MATLAB在图像处理中的应用与技巧,帮助读者更好地利用MATLAB进行图像处理。

一、图像的读取与显示在MATLAB中,可以使用imread函数读取图像文件。

例如,要读取一张名为"image.jpg"的图像文件,可以使用以下代码:```MATLABimage = imread('image.jpg');```而imshow函数则可以将图像显示在窗口中,例如:```MATLABimshow(image);```通过这两个简单的函数,我们可以很方便地读取和显示图像。

二、图像的基本处理1.图像的缩放在图像处理过程中,经常需要将图像进行缩放。

MATLAB提供了imresize函数来实现图像的缩放,例如:```MATLABnew_image = imresize(image, [height, width]);```其中,height和width分别表示缩放后图像的高度和宽度。

2.图像的灰度化有时候我们只关注图像的亮度信息,而忽略了彩色信息。

此时可以将图像转换为灰度图像,MATLAB提供了rgb2gray函数来实现图像的灰度化,例如:```MATLABgray_image = rgb2gray(image);```gray_image即为灰度图像。

3.图像的旋转有时候我们需要将图像进行旋转,MATLAB提供了imrotate函数来实现图像的旋转,例如:```MATLABrotated_image = imrotate(image, angle);```其中,angle表示旋转的角度。

三、图像的增强处理1.图像的边缘检测在许多图像处理任务中,边缘是重要的特征之一。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 5.1.4灰度图像 • 在MATLAB中,灰度图像是保存在一个矩阵中的,矩阵中 的每一个元素代表一个像素点。矩阵可以是双精度类型,其 值域为[0,1];矩阵也可以是unit8类型,其数据范围为[0,255] 。矩阵的每一个元素代表不同的亮度或灰度级,其中,亮度 为0,表示黑色;亮度为1(或者unit8类型的255),则代表 白色。
• 5.1.3 二值图像 • 在二值图像中,每个点为两个离散值中的一个,这两个 值分别代表“开”或“关”。二进制图像被保存在一个二维 的由0(关)和1(开)组成的矩阵中。从另一个角度讲, 二进制图像可以看作一个仅包括黑与白的特殊灰度图像,也 可看作仅有两种颜色的索引图像。 • 二值图像可以保存为双精度或类型的数组,显然使用类 型更节省空间。在图像处理工具箱中,任何一个返回二进制 图像的函数都是以类型逻辑数组来返回的。
• 【例5-2-2】编写程序实现能够读入MATLAB工作目录中的 灰度图像,并显示该图片。 • ◆ MATLAB程序如下: • >> I=imread('E:\hua1.jpg'); • >> figure • >> imshow(I,200); (a)灰度级数目200 • >> figure • >> imshow(I,[100,200]); • ◆运行结果如图所示。
(a)原始灰度图像
(b)索引图像
• 5.3.3 im2bw函数 • im2bw函数通过设定一个阈值将灰度图像、索引图像、 RGB图像转换为二值图像。语法: • BW=im2bw(I, level) ,将灰度图像转化成二值图像。 • BW=im2bw(X, map, level),将索引图像转成二值图像。 • BW=im2bw(RGB, level),将RGB图像转化成二值图像。 • 其中,level是一个归一化阈值,取值在[0,1]。
• 5.1.1 索引图像 • 索引图像包括图像矩阵与颜色图矩阵。其中,颜色图矩阵是 按图像中颜色值进行排序后生成的矩阵。对于每个像素,图 像矩阵包含一个值,这个值就是颜色图矩阵中的索引。颜色 图矩阵为 的双精度值矩阵,各行分别指定红、绿、蓝(R、G 、B )单色值,且R、G、B均为值域的实数值。 • 图像矩阵与颜色图矩阵的关系依赖于图像矩阵是双精度类型 还是无符号8位整数类型。 • 索引图像一般用于存放色彩要求比较简单的图像,如 Windows中色彩构成比较简单的壁纸多采用索引图像存放, 如果图像的色彩比较复杂,就要用到RGB真彩色图像。
• 5.2.2图像的显示 • 在MATLAB的图像处理工具箱中,还提供了一个应用很广泛 的图像显示函数,即imshow函数。与image函数和 imagesec函数类似,imshow函数也创建句柄图形图像对象 。此外,imshow函数也可以自动设置各种句柄图形属性和 图像特征。 • 当用户调用imshow函数显示一幅图像时,该函数将自动设 置图像窗口、坐标轴和图像属性。这些自动设置的属性包括 图像对象的cdata属性和cdatamapping属性、坐标轴对象的 clim属性以及图像窗口对象的colormap属性。
(a)原始RGB图像
(b)二值图像
• 5.3.4 rgb2gray函数 • rgb2gray函数用于将真彩色(RGB)图像向灰度图像转换。函 数语法如下: • I= rgb2gray(RGB) • 【例5-3-5】编写程序实现将一张RGB图像转化成灰度图像。 • ◆ MATLAB程序如下: • >> I=imread('E:\rgb.png'); • >> X=rgb2gray(I);% 调用rgb2gray()函数将RGB图像转化灰 度图像。 • >> figure • >> imshow(I); • >> figure • >> imshow(X); • ◆ 运行结果如书图5-10所示。
5.2 数字图像的读取、显示及输出
• 5.2.1 图像的读取 • MATLAB中利用函数imread来实现图像文件的读取操作。其 语法格式为: • A = imread(filename,fmt) • [X,map] = imread(filename,fmt) • 其中参数fmt指定了图像的格式,可选的值为.bmp、.hdf、 .jpg、.png、.tif、.pcx和.xwd,图像格式也可以和文件名写 在—起,即filename.fmt。默认的文件目录为当前MATLAB 的工作目录,如果不指定fmt,MATLAB会自动根据文件头 确定文件格式。
(a)原始灰度图像
(b)二值图像
• 5.3.2 gray2ind函数 • gray2ind函数用于将灰度图像向索引图像转换。语法: • [X,map]= gray2ind(I,n),即按照指定的灰度级n将灰度图 像I转化成索引图像X,map为gray(n)。 • 此外,在MATLAB中,还有ind2gray函数用于索引图像向 灰度图像的转换。ind2rgb函数用于索引图像向RGB图像转 换。函数语法分别为: • I= ind2gray(X, map) • RGB=ind2rgb(X, map)
• • • • • • • •
【例5-3-4】编写程序实现将一张RGB图像转化成二值图像。 ◆ MATLAB程序如下: >> I=imread('E:\juzi.png'); >> X=im2bw(I,0.5);% 调用im2bw()函数进行图像转化。 >> figure >> imshow(I); >> figure >> imshow(X);
• 【例5-2-1】写出一个程序,要求该程序能够读入MATLAB 工作目录中的RGB图片,并显示该图片。 • 读取图片调用imread()函数,其中,默认的文件目录为当前 MATLAB的工作目录,读取其它地方的图片文件,应写明 具体路径。 • ◆ MATLAB程序如下: • >>RGB=imread('E:\juzi.png'); • >>imshow(RGB);%用imshow()函数显示图片 • ◆ 运行结果如图所示。
• 5.1.2 RGB图像 • “真彩色”是RGB颜色的另一种流行叫法。从技术角度考 虑,真彩色是指写到磁盘上的图像类型,而RGB颜色是指显 示器的显示模式RGB图像的颜色是非映射的,它可以从系统 的“颜色表”里自由获取所需的颜色,这种图像文件里的颜 色直接与PC机上的显示颜色相对应。在真彩色图像中,每 一个像素由红、绿和蓝这三个字节组成,每个字节为8bit, 表示0~255之间的不同的亮度值,这三个字节组合可以产生 40962种不同的颜色。 • MATLAB中的RGB数组可以是双精度的浮点数类型、8 位或16位无符号的整数类型。在RGB的双精度型数组中, 每一种颜色用0和1之间的数值表示。
• • • •Βιβλιοθήκη • • • • •【例5-3-1】编写程序实现将一张RGB图像转化成索引图像。 ◆ MATLAB程序如下: >> I=imread('E:\juzi.png'); >> map=pink(1024); >> X=dither(I,map);% 调用dither()函数进行图像转化。 >> subplot(2,1,1); >> imshow(I); >> subplot(2,1,2); >> imshow(X,map);
• • • • • • • •
【例5-3-2】编写程序实现将一张灰度图像转化成二值图像。 ◆ MATLAB程序如下: >> I=imread('E:\2.jpg'); >> BW=dither(I);% 调用dither()函数进行图像转化。 >> figure >> imshow(I); >> figure >> imshow(BW);
60 50 40 30 20 10 0
0
20
40
60
5.3 图像类型的转化
• 5.3.1 dither函数 • dither函数是采用抖动法来转换图像。该函数通过颜色抖动 来增强输出图像的颜色分辨率。该函数可以把RGB图像转换 成索引图像或把灰度图像转换成二值图像。函数语法: • X=dither(A,map),该函数把RGB图像A按照调色板map转 换成索引图像X。 • BW=dither(A),该函数把灰度图像A转换成二值图像BW。
• • • • • • • •
【例5-3-3】编写程序实现将一张灰度图像转化成索引图像。 ◆ MATLAB程序如下: >> I=imread('E:\3.jpg'); >> [X,map]=gray2ind(I,32);% 调用gray2ind()函数进行图像 转化。 >> figure >> imshow(I); >> figure >> imshow(X,map);
• 【例5-2-5】编写程序实现读取桌面上的图片并在横轴和纵轴上 添加颜色条。 • ◆ MATLAB程序如下: • >> I=imread('E:\juzi.png'); • >> imshow(I); • >> colorbar('vert');%调用colorbar()函数添加垂直颜色条。 • >> colorbar('horiz');%调用colorbar()函数添加水平颜色条。
• 5.2.3图像的输出 • MATLAB中利用函数imwrite函数来实现图像文件的输出和保 存操作。其语法格式为: • imwrite(A,filename,fmt)。其中,A是图像数据,filename是 目标图像名,fmt是要生成的图片的格式。 • 【例5-2-4】写出一个程序,要求该程序将图片保存至默认目 录和桌面。 • ◆ MATLAB程序如下: • >> I=imread('CQUPT.jpg'); • >> imwrite(I,'CQUPT.jpg','bmp'); • >> imwrite(I,'C:\Users\Administrator\Desktop\CQUPT.jpg','b mp'); • 序运行结果: • 分别在默认工作目录和桌面上分别生成了一个名为 “CQUPT.bmp”的图片文件。
相关文档
最新文档