数字图像处理
数字图像处理

第一章绪论1.什么是图像?什么是数字图像?什么是灰度图像?模拟图像处理与数字图像处理主要区别表现在哪些方面?图像:是对客观对象的一种相似性的、生动性的描述或写真。
数字图像:一种空间坐标和灰度均不连续的、用离散数字(一般用整数)表示的图像。
灰度图像:在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。
在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。
模拟图像处理与数字图像处理主要区别:模拟图像处理是利用光学、照相方法对模拟图像的处理。
数字图像处理是利用计算机对数字图像进行系列操作,从而达到某种预期目的的技术。
2.数字图像处理包括哪几个层次?各层次之间有何区别和联系?数字图像处理可分为三个层次:狭义图像处理、图像分析和图像理解。
狭义图像处理是对输入图像进行某种变换得到输出图像,是一种图像到图像的过程。
图像分析主要是对图像中感兴趣的目标进行检测和测量,从而建立对图像目标的描述,图像分析是一个从图像到数值或符号的过程。
图像理解则是在图像分析的基础上,基于人工智能和认知理论研究图像中各目标的性质和它们之间的相互联系,对图像内容的含义加以理解以及对原来客观场景加以解译,从而指导和规划行动。
区别和联系:狭义图像处理是低层操作,它主要在图像像素级上进行处理,处理的数据量非常大;图像分析则进入了中层,经分割和特征提取,把原来以像素构成的图像转变成比较简洁的、非图像形式的描述;图像理解是高层操作,它是对描述中抽象出来的符号进行推理,其处理过程和方法与人类的思维推理有许多类似之处。
3.数字图像处理系统由哪些模块组成?各模块起何作用?数字图像处理系统包括五个模块:数字图像采集、数字图像显示、数字图像存储、数字图像通信、数字图像处理和分析。
作用:数字图像采集装置是获取数字图像的设备。
数字图像显示是借助计算机图形学技术将分析的结果转换为更为直观的图像形式展示。
数字图像存储是给图像提供大量的空间来存储大数据量图像。
数字图像处理课件ppt

06 数字图像处理的应用案例
人脸识别系统
总结词
人脸识别系统是数字图像处理技术的重要应 用之一,它利用计算机视觉和图像处理技术 识别人的面部特征,实现身份认证和安全监 控等功能。
详细描述
人脸识别系统通过采集输入的人脸图像,提 取出面部的各种特征,如眼睛、鼻子、嘴巴 等部位的形状、大小、位置等信息,并与预 先存储的人脸特征进行比对,从而判断出人 的身份。该系统广泛应用于门禁系统、安全
分类器设计
总结词
分类器设计是图像识别技术的核心,它通过训练分类器,使其能够根据提取的特征对图 像进行分类和识别。
详细描述
分类器设计通常采用机器学习算法,如支持向量机、神经网络和决策树等。这些算法通 过训练数据集进行学习,并生成分类器模型,用于对新的未知图像进行分类和识别。
模式识别
总结词
模式识别是图像识别技术的最终目标,它通 过分类器对提取的特征进行分类和识别,实 现对图像的智能理解和处理。
源调查和环境监测。
计算机视觉
为机器人和自动化系统提供视 觉感知能力,用于工业自动化
、自主导航等。
数字图像处理的基本流程
特征提取
从图像中提取感兴趣的区域、 边缘、纹理等特征,为后续分 类或识别提供依据。
图像表示与压缩
将图像转换为易于处理和分析 的表示形式,同时进行数据压 缩,减少存储和传输成本。
预处理
详细描述
模式识别在许多领域都有广泛应用,如人脸 识别、物体识别、车牌识别等。通过模式识 别技术,可以实现自动化监控、智能安防、 智能驾驶等应用。随着深度学习技术的发展 ,模式识别的准确率和鲁棒性得到了显著提 高。
05 数字图像处理中的常用算 法
傅里叶变换算法
傅里叶变换
数字图像处理

数字图像处理又称为计算机图像处理,它最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于20世纪60年代初期。
图像处理的基本目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。
随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大。
航天和航空技术方面的应用数字图像处理技术在航天和航空技术方面的应用,除了上面介绍的JPL对月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。
许多国家每天派出很多侦察飞机对地球上有兴趣的地区进行大量的空中摄影。
对由此得来的照片进行处理分析,以前需要雇用几千人,而现在改用配备有高级计算机的图像处理系统来判读分析,既节省人力,又加快了速度,还可以从照片中提取人工所不能发现的大量有用情报。
我国也陆续开展了以上诸方面的一些实际应用,并获得了良好的效果。
在气象预报和对太空其它星球研究方面,数字图像处理技术也发挥了相当大的作用。
文化艺术方面的应用目前这类应用有电视画面的数字编辑,动画的制作,电子图像游戏,纺织工艺品设计,服装设计与制作,发型设计,文物资料照片的复制和修复,运动员动作分析和评分等等,现在已逐渐形成一门新的艺术--计算机美术。
数字图像处理技术,主要研究的内容:图像变换、图像编码压缩、图像增强和复原、图像分割、图像分类(识别)等。
(1) 图像变换。
由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效地处理(如傅立叶变换可在频域中进行数字滤波处理)。
数字图像处理

数字图像处理所谓数字图像处理就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。
实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。
其主要研究内容包括:图像的灰度变换处理是图像增强处理技术中的一种非常基础·直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分。
灰度变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。
目的是为了改善画质,使图像的显示效果更加清晰。
灰度变换有时又被称为图像的对比度增强或对比度拉伸。
例如为了显示出图像的细节部分或提高图像的清晰度,需要将图像整个范围的灰度级或其中一段(a,b)灰度级扩展或压缩到(a`,b`),这些都要求采用灰度变换方法。
图像滤波,即在尽量保留图像细节特征的条件下对目标像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接响到后续图像处理和分析的有效性和可靠性。
[1] 由于成像系统、传输介质和记录设备等的不完善,数字图像在其形成、传输记录过程中往往会受到多种噪声的污染。
另外,在图像处理的某些环节当输入的像对象并不如预想时也会在结果图像中引入噪声。
这些噪声在图像上常表现为一引起较强视觉效果的孤立象素点或象素块。
一般,噪声信号与要研究的对象不相关它以无用的信息形式出现,扰乱图像的可观测信息。
对于数字图像信号,噪声表为或大或小的极值,这些极值通过加减作用于图像象素的真实灰度值上,在图像造成亮、暗点干扰,极大降低了图像质量,影响图像复原、分割、特征提取、图识别等后继工作的进行。
要构造一种有效抑制噪声的滤波机必须考虑两个基本问题能有效地去除目标和背景中的噪声;同时,能很好地护图像目标的形状、大小及特定的几何和拓扑结构特征。
非线性滤波器一般说来,当信号频谱与噪声频谱混叠时或者当信号中含有非叠加性噪声时如由系统非线性引起的噪声或存在非高斯噪声等),传统的线性滤波技术,如傅立变换,在滤除噪声的同时,总会以某种方式模糊图像细节(如边缘等)进而导致像线性特征的定位精度及特征的可抽取性降低。
数字图像处理数字图像处理基础

数字图像处理基础数字图像处理是在数字计算机上对数字图像进行操作和分析的一种技术。
它主要包括数字图像获取、数字图像处理、数字图像分析和数字图像输出等过程。
本文将介绍数字图像处理的基础知识。
数字图像获取数字图像获取是将真实世界中的图像转换为数字信号的过程。
数字图像通常由许多像素点组成,每个像素点都有一个灰度值或颜色值。
常用的数字图像获取设备包括数码相机、扫描仪、医学影像设备等。
数字图像处理数字图像处理是对数字图像进行各种操作和处理的过程。
数字图像处理可以分为图像增强、图像压缩、图像复原和图像分割等几个方面。
图像增强图像增强是改善数字图像可视化效果,使其更适合用户观察和分析。
常用的图像增强技术包括直方图均衡化、拉普拉斯锐化和中值滤波等。
图像压缩图像压缩是减少数字图像占用的存储空间和传输带宽的操作。
数字图像压缩可以分为有损压缩和无损压缩两种。
图像复原图像复原是对数字图像进行噪声和失真修复的过程。
图像复原常用的算法包括逆滤波、维纳滤波和均值滤波等。
图像分割图像分割是将数字图像中的不同部分分离出来的过程,常用的图像分割方法包括阈值分割、基于区域的分割和基于边缘的分割等。
数字图像分析数字图像分析是对数字图像进行各种计算和分析的过程,常用的数字图像分析方法包括形态学分析、特征提取和目标检测等。
形态学分析形态学分析是研究数字图像形态特征的一种方法。
形态学分析主要包括膨胀、腐蚀、开运算和闭运算等操作。
特征提取特征提取是从数字图像中提取出具有实际意义的信息的过程,常用的特征提取方法包括滤波、边缘检测和纹理分析等。
目标检测目标检测是在数字图像中寻找具有特定性质的目标的过程,常用的目标检测方法包括模板匹配、边缘检测和神经网络等。
数字图像输出数字图像输出是将数字图像转换为人类可以观察的形式的过程,常用的数字图像输出设备包括彩色打印机、液晶显示器和投影仪等。
数字图像处理是一种应用广泛的技术,它已经在医学、工业、军事等领域得到了广泛的应用。
数字图像处理技术

数字图像处理技术数字图像处理技术是一种针对数字图像进行处理和分析的技术。
随着计算机技术的不断发展和普及,数字图像处理技术在图像处理领域中扮演着越来越重要的角色。
本文将详细介绍数字图像处理技术的概念、原理、应用及未来发展方向。
概念数字图像处理技术是指利用计算机对数字图像进行处理和分析的技术。
数字图像是通过像素表示的图像,而像素是图像最小的单元,每个像素都有其特定的数值表示颜色和亮度。
数字图像处理技术可以对图像进行各种操作,如增强图像的质量、提取图像特征、恢复图像信息等。
原理数字图像处理技术的原理主要包括图像获取、图像预处理、图像增强、图像分割、特征提取和图像识别等基本步骤。
1.图像获取:通过相机或扫描仪等设备获取数字图像,将图像转换为数字信号。
2.图像预处理:对原始图像进行去噪、几何校正、尺度变换等预处理操作,以提高后续处理的效果。
3.图像增强:通过直方图均衡化、滤波等方法增强图像的对比度、亮度等特征。
4.图像分割:将图像分割成若干个区域或对象,以便更好地分析和处理图像。
5.特征提取:提取图像中的特征信息,如颜色、纹理、形状等,为图像识别和分类提供依据。
6.图像识别:利用机器学习、深度学习等算法对图像进行分类、识别和分析。
应用数字图像处理技术在各个领域都有广泛的应用,如医疗影像分析、无人驾驶、安防监控、智能交通等。
以下列举一些典型的应用场景:•医疗影像分析:利用数字图像处理技术分析医学影像,辅助医生进行疾病诊断和治疗。
•安防监控:通过视频监控系统、人脸识别技术等实现对安全领域的监控和警报。
•智能交通:通过交通监控系统、车辆识别技术等提高交通管理效率和道路安全。
未来发展数字图像处理技术在人工智能、物联网等新兴技术的推动下不断发展和创新,未来的发展方向主要包括以下几个方面:1.深度学习在图像处理中的应用:深度学习技术在图像分类、目标检测等方面取得重大突破,将在数字图像处理领域得到更广泛的应用。
2.虚拟现实与增强现实:数字图像处理技术将与虚拟现实、增强现实技术结合,实现更加沉浸式的用户体验。
数字图像处理

数字图像:用离散的数字表示的图像I=I(r,c)在计算机中用二维矩阵来表示。
把图像按行与列分成m×n个网格,每个网格称为图像的一个像素。
数字图像的最小单位是像素(像元)像素(像元)具有空间位置特征和属性特征【空间分辨率】:指在水平方向和垂直方向上共分为多少格(点),记为M×N。
(同一幅图像,分辨率越高,图像质量越好)【灰度分辨率】:指象元亮度(灰度)层次的多少,常称为灰度级,记为2n,如28=256个灰度级。
(颜色数越多,用以表示颜色的位数越长,图像颜色就越逼真。
)【空间频率】:图象明暗变化的快慢,空间频率高表征图象的细微变化(细节),反之则表示图象中大的物体。
本概念是图象处理中频域处理的基础。
【数字图像的分类】:①按亮度等级:二值图像和灰度图像(二值图像—灰度值仅有0和1组成)②按色调:黑白图象和彩色图象(彩色图像每一点的灰度值有好几个分量构成,如R、G、B;然后这几个分量的灰度值叠加形成彩色图像。
黑白图像—每一点的灰度值只有一个)③按内容和变化性质:静止图像和活动图像④按所占空间维数:二维平面图像和三维、多维立体图像等。
从人的视觉效果分:可见图像(由可见光形成,能为人的视觉系统所直接感受)和不可见图像(不能为人眼所直接感受,但通过能量转换和相应的显示装置变换后,可以为人的视觉所感受。
如X 光透视图象、红外电视图象、微波辐射计以及 B 型超声诊断仪上所显示的图象等。
)【模拟图像数字化】:包括采样和量化两个过程【采样】——将空间上连续的图像变换成离散点的操作,即位置的离散化。
将模拟图像按纵横两方向分割为若干个形状、大小相同的像元,各像元的位置由其所在的行和列表示。
【量化】——将像素灰度转换成离散的数值的过程,即灰度的离散化量化参数——灰度级数:一幅数字图像中不同灰度值的个数称为灰度级数,用K表示。
一般来说,K=2n。
8位灰度图像,有256个灰度级别。
除了纯黑与纯白之外,其他颜色介于黑和白之间的灰色。
数字图像处理技术

数字图像处理技术数字图像处理技术是一种利用计算机对图像进行处理和分析的技术。
随着计算机技术和图像采集设备的不断发展,数字图像处理技术已经广泛应用于影像处理、医学图像分析、机器视觉、模式识别等领域。
本文将重点介绍数字图像处理技术的基本原理、常见的图像处理方法和应用领域。
一、数字图像处理技术的基本原理数字图像处理是在计算机中对图像进行数值计算和变换的过程。
图像是由像素组成的二维数组,每个像素包含了图像中某一点的亮度或颜色信息。
数字图像处理技术主要包括如下几个基本步骤:1. 图像采集:利用摄像机、扫描仪等设备将实际场景或纸质图像转换成数字图像。
2. 图像预处理:对采集到的图像进行预处理,包括图像增强、去噪、几何校正等操作,以提高图像质量。
3. 图像变换:通过一系列的数值计算和变换,改变图像的亮度、对比度、颜色等特征,以满足特定的需求。
4. 图像分析:对图像进行特征提取、目标检测、模式识别等操作,以获取图像中的各种信息。
5. 图像展示:将处理后的图像显示在计算机屏幕上或输出到打印机、投影仪等设备上,以便人们观看和分析。
二、常见的图像处理方法1. 图像增强:通过调整图像的亮度、对比度、颜色等参数,使图像更清晰、更鲜艳。
2. 图像滤波:利用滤波器对图像进行低通滤波、高通滤波、中值滤波等操作,以去除噪声、平滑图像或增强边缘。
3. 图像分割:将图像分成若干个区域,以便更好地分析和识别图像中的目标。
4. 特征提取:从图像中提取出与目标相关的特征,如纹理特征、形状特征、颜色特征等。
5. 目标检测:利用机器学习、模式识别等方法,从图像中检测和识别出目标,如人脸、车辆等。
三、数字图像处理技术的应用领域数字图像处理技术在很多领域都有广泛的应用,以下列举几个主要的应用领域:1. 影像处理:数字图像处理技术可以应用于电影特效、动画制作、数字摄影等领域,提高影像的质量和逼真度。
2. 医学图像分析:数字图像处理技术可以应用于医学影像的分析、诊断和治疗,如CT扫描、核磁共振等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京工程学院通信工程学院实验报告课程名称数字图像处理实验项目名称彩色图像处理实验学生班级实验学生姓名同组学生姓名实验时间实验地点一.实验目的1.掌握彩色图像表示的方法;2.掌握彩色图像处理的基本原理;3.使用 RGB和 Gray 图像间转换函数;4.彩色图像的分割;二.实验设备安装有MA TLAB 软件的计算机三.实验原理RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
HSI模型是美国色彩学家孟塞尔(H.A.Munseu)于1915年提出的,它反映了人的视觉系统感知彩色的方式,以色调、饱和度和强度三种基本特征量来感知颜色。
色调H(Hue):与光波的波长有关,它表示人的感官对不同颜色的感受,如红色、绿色、蓝色等,它也可表示一定范围的颜色,如暖色、冷色等。
饱和度S(Saturation):表示颜色的纯度,纯光谱色是完全饱和的,加入白光会稀释饱和度。
饱和度越大,颜色看起来就会越鲜艳,反之亦然。
强度I(Intensity):对应成像亮度和图像灰度,是颜色的明亮程度。
使用RGB彩色向量进行彩色区域分割是很简单的,假设我们的目的是在RGB图像中分割一个特定彩色范围的物体,给定一组感兴趣的彩色或彩色范围描述的彩色样本点,我们获得一个“平均”的颜色估计,它是我们希望分割的那种颜色,让这种平均颜色用RGB列向量来定义,分割的目的是对图像中的每一个RGB像素进行分类,使其在指定范围内有一种或没有颜色,为执行这一比较,我们需要一个相似性度量。
四.实验内容和步骤1.图像从RGB转换到HSI格式的一个M函数rgb = imread('g.jpg');figure,imshow(rgb);function hsi = rgb2hsi(rgb)% hsi = rgb2hsi(rgb)把一幅RGB图像转换为HSI图像,% 输入图像是一个彩色像素的M×N×3的数组,% 其中每一个彩色像素都在特定空间位置的彩色图像中对应红、绿、蓝三个分量。
% 假如所有的RGB分量是均衡的,那么HSI转换就是未定义的。
% 输入图像可能是double(取值范围是[0, 1]),uint8或 uint16。
% 输出HSI图像是double,% 其中hsi(:, :, 1)是色度分量,它的范围是除以2*pi后的[0, 1];% hsi(:, :, 2)是饱和度分量,范围是[0, 1];% hsi(:, :, 3)是亮度分量,范围是[0, 1]。
% 抽取图像分量rgb = im2double(rgb);r = rgb(:, :, 1);g = rgb(:, :, 2);b = rgb(:, :, 3);% 执行转换方程num = 0.5*((r - g) + (r - b));den = sqrt((r - g).^2 + (r - b).*(g - b));theta = acos(num./(den + eps)); %防止除数为0H = theta;H(b > g) = 2*pi - H(b > g);H = H/(2*pi);num = min(min(r, g), b);den = r + g + b;den(den == 0) = eps; %防止除数为0S = 1 - 3.* num./den;H(S == 0) = 0;I = (r + g + b)/3;% 将3个分量联合成为一个HSI图像hsi = cat(3, H, S, I);figure,imshow(hsi);HSI图像:转换后的RGB图像:2.从HSI转换到RGB的一个M函数。
Function rgb=hsi2rgb(hsi)% HSI2RGB的HSI图像转换为RGB。
% HSI2RGB的HSI图像转换为RGB ,其中HSI被假定为% HSI (:,:,1)=色调图像归一化值到范围[0,1]通过% 2 * PI除以所有的角度值。
%HSI(:,:, 2 ) =饱和度图像,在区间[ 0,1] 。
%HSI(:,:, 3 ) =强度图像,在区间[ 0,1] 。
%输出图像的组成部分是:% RGB (:,:, 1)=红色;% RGB (:,:,2)=绿色。
% RGB (:,:, 3)=蓝色。
%提取individaulHSI分量图像。
H=hsi(:,:,1)*2*pi;S=hsi(:,:,2);I=hsi(:,:,3);%实施转换方程。
R=zeros(size(hsi,1),size(hsi,2));G=zeros(size(hsi,1),size(hsi,2));B=zeros(size(hsi,1),size(hsi,2));% RG扇区( 0 < = H < 2 * PI / 3 )。
idx=find((0<=H)&(H<2*pi/3));B(idx)=I(idx).*(1-S(idx));R(idx)=I(idx).*(1+S(idx).*cos(H(idx))./cos(pi/3-H(idx)));G(idx)=3*I(idx)-(R(idx)+B(idx));% BG扇区( 2 * PI / 3 < = H < 4 * PI / 3 )。
idx=find((2*pi/3<=H)&(H<4*pi/3));R(idx)=I(idx).*(1-S(idx));G(idx)=I(idx).*(1+S(idx).*cos(H(idx)-2*pi/3)./cos(pi-H(idx)));B(idx)=3*I(idx)-(R(idx)+G(idx));% BR扇区。
idx=find((4*pi/3<=H)&(H<=2*pi));G(idx)=I(idx).*(1-S(idx));B(idx)=I(idx).*(1+S(idx).*cos(H(idx)-4*pi/3)./cos(5*pi/3-H(idx))); R(idx)=3*I(idx)-(G(idx)+B(idx));%将所有三种结果为RGB图像。
剪裁到[0,1] ,以弥补浮点算术舍入的效果。
rgb=cat(3,R,G,B);rgb=max(min(rgb,1),0);figure,imshow(rgb);原图:hsi2rgb函数转换后的图形3.RGB彩色图像分割f=imread('b.jpg');%首先我们获得表示待分割彩色图像的样本,用roiploy函数产生一个交互选择的区域的二%值掩模,其中mask是一幅二值图像(大小与f相同,)其背景为0,交互选择区域为1. mask=roipoly(f);red=immultiply(mask,f(:,:,1));green=immultiply(mask,f(:,:,2));blue=immultiply(mask,f(:,:,3));g=cat(3,red,green,blue);figure,imshow(g)%接着我们计算ROI中的点的均值向量和协方差矩阵,但ROI中的点坐标必须首先提取出来 [M,N,K]=size(g);I=reshape(g,M*N,3);%将g中的彩色像素重新排列为I行idx=find(mask); %找出非黑彩色像素的行索引I=double(I(idx,1:3));%[C,M]=covmatrix(I);[K, n] = size(I);I = double(I);if n == 1 % Handle special case.C = 0;m = I;else% Compute an unbiased estimate of m.m = sum(I, 1)/K;% Subtract the mean from each row of X.I = I - m(ones(K, 1), :);% Compute an unbiased estimate of C. Note that the product is % X'*X because the vectors are rows of X.C = (I'*I)/(K - 1);m = m'; % Convert to a column vector.end%最后的初步计算决定T的值,首先让T变为一个彩色分量的标准偏差的倍数。
C的主对角%线包括RGB分量的方差,所以必须提取这些元素并计算它们的平方根d=diag(C);sd=sqrt(d)'%现对图像分割,T值取120的倍数E=colorseg1('euclidean',f,120,m);figure;imshow(E)原图:使用roipoly函数交互的提取的感兴趣区域T=120时的分割图像五.实验感想通过此次彩色图像处理的实验,对彩色图像表示的方法和使用 RGB和 HSI 图像间转换的理解更为深入,对彩色图像的分割有了新的认识,感想老师的指导和同学的帮住。
附录:调用colorseg(varargin)函数原型:function I = colorseg(varargin)%COLORSEG Performs segmentation of a color image.% S = COLORSEG('EUCLIDEAN', F, T, M) performs segmentation of color % image F using a Euclidean measure of similarity. M is a 1-by-3 % vector representing the average color used for segmentation (this % is the center of the sphere in Fig. 6.26 of DIPUM). T is the% threshold against which the distances are compared.%% S = COLORSEG('MAHALANOBIS', F, T, M, C) performs segmentation of % color image F using the Mahalanobis distance as a measure of% similarity. C is the 3-by-3 covariance matrix of the sample color % vectors of the class of interest. See function covmatrix for the % computation of C and M.%% S is the segmented image (a binary matrix) in which 0s denote the % background.% Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins % Digital Image Processing Using MATLAB, Prentice-Hall, 2004% $Revision: 1.5 $ $Date: 2003/11/21 14:28:34 $% Preliminaries.% Recall that varargin is a cell array.f = varargin{2};if (ndims(f) ~= 3) | (size(f, 3) ~= 3)error('Input image must be RGB.');endM = size(f, 1); N = size(f, 2);% Convert f to vector format using function imstack2vectors.[f, L] = imstack2vectors(f);f = double(f);% Initialize I as a column vector. It will be reshaped later% into an image.I = zeros(M*N, 1);T = varargin{3};m = varargin{4};m = m(:)'; % Make sure that m is a row vector.if length(varargin) == 4method = 'euclidean';elseif length(varargin) == 5method = 'mahalanobis';elseerror('Wrong number of inputs.');endswitch methodcase'euclidean'% Compute the Euclidean distance between all rows of X and m. See % Section 12.2 of DIPUM for an explanation of the following% expression. D(i) is the Euclidean distance between vector X(i,:) % and vector m.p = length(f);D = sqrt(sum(abs(f - repmat(m, p, 1)).^2, 2));case'mahalanobis'C = varargin{5};D = mahalanobis(f, C, m);otherwiseerror('Unknown segmentation method.')end% D is a vector of size MN-by-1 containing the distance computations % from all the color pixels to vector m. Find the distances <= T.J = find(D <= T);% Set the values of I(J) to 1. These are the segmented% color pixels.I(J) = 1;% Reshape I into an M-by-N image.I = reshape(I, M, N);调用imstack2vectors(S, MASK)函数原型function [X, R] = imstack2vectors(S, MASK)%IMSTACK2VECTORS Extracts vectors from an image stack.% [X, R] = imstack2vectors(S, MASK) extracts vectors from S, which % is an M-by-N-by-n stack array of n registered images of size% M-by-N each (see Fig. 11.24). The extracted vectors are arranged % as the rows of array X. Input MASK is an M-by-N logical or% numeric image with nonzero values (1s if it is a logical array) % in the locations where elements of S are to be used in forming X % and 0s in locations to be ignored. The number of row vectors in X% is equal to the number of nonzero elements of MASK. If MASK is % omitted, all M*N locations are used in forming X. A simple way % to obtain MASK interactively is to use function roipoly. Finally, % R is an array whose rows are the 2-D coordinates containing the% region locations in MASK from which the vectors in S were% extracted to form X.% Copyright 2002-2004 R. C. Gonzalez, R. E. Woods, & S. L. Eddins % Digital Image Processing Using MATLAB, Prentice-Hall, 2004% $Revision: 1.6 $ $Date: 2003/11/21 14:37:21 $% Preliminaries.[M, N, n] = size(S);if nargin == 1MASK = true(M, N);elseMASK = MASK ~= 0;end% Find the set of locations where the vectors will be kept before % MASK is changed later in the program.[I, J] = find(MASK);R = [I, J];% Now find X.% First reshape S into X by turning each set of n values along the third% dimension of S so that it becomes a row of X. The order is from top to% bottom along the first column, the second column, and so on.Q = M*N;X = reshape(S, Q, n);% Now reshape MASK so that it corresponds to the right locations % vertically along the elements of X.MASK = reshape(MASK, Q, 1);% Keep the rows of X at locations where MASK is not 0.X = X(MASK, :);。