彩色图像分割程序设计RGB模型_第1页
彩色图像分割程序设计RGB模型_第2页
彩色图像分割程序设计RGB模型_第3页
彩色图像分割程序设计RGB模型_第4页
彩色图像分割程序设计RGB模型_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳理工大学数字图象处理课程设计摘 要 Matlab是当今最优秀的科技应用软件之一,它一强大的科学计算与可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向不同领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具盒首选平台在图像处理中,Matlab也得到了广泛的应用,例如图像变换,设计FIR滤波器,图像增强,四叉树分解,边缘检测,小波分析等等。不同的颜色空间在描述图像的颜色时侧重点不同。如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器和彩色摄象机,HSI(色调、饱和度、亮度)更符合人描述和解释颜色的方式(或称为HSV,色调、饱和度、亮度

2、),CMY(青、深红、黄)、CMYK(青、深红、黄、黑)主要针对彩色打印机、复印机等,YIQ(亮度、色差、色差)是用于NTSC规定的电视系统格式,YUV(亮度、色差、色差)是用于PAL规定的电视系统格式,YCbCr(亮度单一要素、蓝色与参考值的差值、红色与参考值的差值)在数字影像中广泛应用。彩色图像的处理有时需要将图像数据在不同的颜色空间中表示,因此,图像的颜色空间之间的转换成为一项有意义的工作。其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁。Matlab中的颜色空间转换只涉及到了RGB、HSV、YCbCr、YIQ等,没有包含l和其它颜色空间的转换。关键字:Matlab;图像处理;

3、RGB目 录1 设计任务及目的11.1 设计任务11.2 设计目的12 图像处理简介22.1 数字图像处理发展概述22.2 图像处理技术22.3 图像处理的内容33 RGB模型简介54 MATLAB简介65 设计方案75.1 传统阈值分割算法分析75.2 基于RGB颜色空间的阈值分割算法86 MATLAB编程实现107 程序设计118 仿真结果与分析128.1 仿真结果128.2 结果分析13结 论14参考文献151 设计任务及目的1.1 设计任务对给定的彩色图像的颜色,使用RGB颜色模型,来对其进处理。并且设计MATLAB程序,使其能完成输入图像便自动使用RGB模型来进行图像分割。1.2 设

4、计目的(1)综合运用相关课程中所学到的理论知识去独立完成设计课题。(2)通过查阅手册和相关文献资料,培养独立分析和解决问题的能力。(3)进一步熟悉Matlab运用和图像处理的知识,加深对专业知识和理论知识学习的认识和理解。(4)学会撰写课程设计的总结报告。(5)培养严肃认真的工作作风和严谨的科学态度。2 图像处理简介数字图像处理,通俗地讲是指应用计算机以及数字设备对图像进行加工处理的技术。2.1 数字图像处理发展概述20世纪20年代,图像处理技术首次应用于改善伦敦到纽约之间的海底电缆传送图片的质量。1964年,美国喷气推动实验室用计算机成功地对4000多张月球照片进行处理。70年代中期,随着离

5、散数学理论的创立和完善,数字图像处理技术得到了迅猛的发展,理论和方法不断完善。90年代,随着个人计算机进入家庭,硬件价格不断下降,数字世界逐渐进入人们的生活。2.2 图像处理技术图像处理技术包括:空域处理方法和变换域处理方法。 (1)图像信息的获取为了在计算机上进行图像处理,必须把作为处理对象的模拟图像转换成数字图像信息。图像信息的获取,一般包括图像的摄取、转换及数字化等几个步骤。该部分主要由处理系统硬件实现。(2)图像信息的存储于交换由于数字图像信息量大,且在处理过程中必须对数据进行存储和交换,为了解决大数据量及交换与传输时间的矛盾,通常除采用大容量机内存存储器进行并行传送,直接存储访问外,

6、还必须采用外部磁盘、光盘及磁带存储方式,从而达到提高处理的目的。该部分组要功能也由硬件完成。(3)数字图像处理数字图像处理,即把在空间上离散的,在幅度上量化分层的数字图像,在经过一些特定数理模式的加工处理,以达到有利于人眼视觉或某种接收系统所需要的图像过程。(4)数字图像通讯80年代以来,由于计算机技术和超大规模集成电路技术的巨大发展,推动了通讯技术(包括语言、数据、图像)的飞速发展。因为图像通讯具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通讯比模拟图像通讯更具抗干扰性,便于压缩编码处理和易于加密,因此在图像通讯工程中数字处理技术获得广泛应用。(5)图像的输出和显示数字图像处理的最终

7、目的是为了提供便于人眼或接收系统解释和社别图像,因此图像的输出和显示很重要。一般图像输出的方式可分为硬拷贝,诸如照相、打印、扫描鼓等,还有所谓的软拷贝,诸如CRT监视器及各种新型的平板监视器等。2.3 图像处理的内容图像处理的内容包括:图像变换,图像增强,图像编码与压缩,图像复原,图像重建,图像识别以及图像理解。(1)图像数字化图像数字化即图像采样和量化,是指把连续的图像信号变为离散的数字信号,以适应计算机的处理。(2)图像编码压缩把数字化的图像数据按一定规则进行排列或运算过程,称为图像编码。利用图像本身的内在特性,通过某种特殊的编码方式,达到减少原图像数据时空占用量的处理叫做图像压缩编码。(

8、3)图像变换一般指利用正交变换的性质和特点,将图像转换到变换域中进行处理,并且大部分变换都有快速算法。(4)图像增强图像增强的目的是突出图像中所感兴趣的部分,如强化图像的高频分量,可使图像中物体轮廓清晰,细节明显。(5)图像复原图像复原是尽可能恢复图像的本来面貌,是对图像整体而言,而且在复原处理时,往往必须追求降质原因,以便“对症下药”,而增强往往是局部。(6)图像分割将图像中包含的物体,按其灰度或几何特性分割,并进行处理分析,从中提取有效分量、数据等有用信息。这是进一步进行图像处理如模式识别、机器视觉等技术的基础。(7)图像分类简单地说就是在图像分割的基础上,进行我体的判决分类。(8)图像重

9、建它是对一些三维物体,应用x射线、超声波等物理方法,取得物体内部结构数据,再将这些数据进行运算处理而构成物体内部某些部位的图像。目前图像重建最成功的例子是CT技术(计算机断层扫描成像技术)、彩色超声波等。3 RGB模型简介RGB颜色空间是最基本的色彩空间主要是面向硬件设备的,它是与人类视觉系统有着密切关系的空间模型,它通常用于显示器,打印机和其他设备,是最常见的和最常用的色彩空间。通常,RGB空间用数据立方体模型来表示,如图3.1所示。在图中,R,G,B这三个分量分别位于三角上,绿色,红色和黄色在其他三个角落,黑色在原点,白色的角度离原点最远的。在这个空间中,灰度等级是沿着黑白两点之间的连线分

10、布。图3.1 RGB 色彩空间示意图比色法则:1、通过R,G,B三种颜色可以产生任意颜色,这三种颜色组合后形成的颜色也是唯一的;2、如果两种颜色的三个分量相等,则这两种颜色是相同的,这三个分量乘以或除以相同的数得到的颜色依旧是一样的;3、各种颜色组成的混合色的亮度等于其中每个颜色亮度的总和。RGB色彩空间适用于彩色显示,同时,R,G,B这三个分量有很高的相关性,如果强度发生变化,则这三个颜色分量也会发生相应的变化。此外,在RGB空间不能用距离来衡量两个颜色相似性。4 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级

11、技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematic

12、a、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用

13、户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。5 设计方案5.1 传统阈值分割算法分析对于彩色图像,传统的阈值分割算法是先将彩色 图像转换成灰度图像,再取一个灰度值作为阈值,逐个像素进行处理,若此像素灰度值小于等于阈值的为前景,置为黑色,若大于阈值的为背景,置为白色。 RGB三原色到灰度的转换公式为: Gray=0.30*R+0.59*G+0.11*B (5.1)在灰度值一定的情况下,此公式是三元一次方 程,在笛卡尔坐标系中对应着一个平面。 设灰度值取为60,则方程为: 0.30x+0.

14、59y+0.11z=60 (5.2)对应的空间平面在RGB颜色空间中的位置如图5.1所示。图51 灰度转换与RGB颜色空间模型对照RGB颜色空间模型看,位于此平面上的所有点,经灰度转换后,其灰度值都是60。如果以灰度值60为阈值对彩色图像进行分割,则图像中所有颜 色值位于此阈值分割平面下方的,其颜色经灰度转换后都将小于60,因此都将判定为前景;同样的,图像中所有颜色值位于此阈值分割平面上方的,将被判定为背景。相应的判定准则是: Color= (5.3)考察当三原色当中的蓝色为0时的情况,如图5.2所示图5.2 蓝色为0时的阈值分割情况对应的灰度转换方程为: 0.30x+0.59y=60 (5.

15、3)此平面上的点,以阈值分割线为界,上方的将被判定为背景,下方的将被判定为前景。当红色或绿色为0时,也有相同的情况。5.2 基于RGB颜色空间的阈值分割算法考察蓝色为0时的颜色分布情况,如图5.3所示。图5.3 蓝色为0时的颜色分布情况图5.3中,左下角为黑色,左上角为红色,右上角 为黄色,右下角为绿色。观察图4中的颜色分布情况,可以发现,接近黑色的颜色分布在左下角近似正 方形的部分,而不是如图5.3中的三角形部分中,也就是说,就红、绿两原色组合成的色彩而言,将彩色图形 转换为灰度图形后,有一部分色彩在彩色情况下视觉上明显不是黑色,但转换为灰度颜色后视觉上会感觉比较接近黑色。在由红、蓝及蓝、绿

16、甚至红、蓝、绿三 原色组合成的色彩中,也都存在着同样的情况。由于灰度转换造成的这种误差,在对图像进行阈值分割时 会形成误判。 对于彩色图像,由于传统的阈值分割算法是对图像颜色进行灰度转换后进行分割,还原到彩色空间中 相当于是取了图2中靠近坐标原点的一个四面体所包含的颜色为前景。此四面体中远离原点的四个角 部分的色彩已经较大地偏离了黑色,而转换为灰度颜 色后这种偏离将被掩盖,从而造成对图像进行阈值分割时的不准确。 基于以上分析,提出新的对彩色图像进行阈值分割的思路:在RGB色彩空间中取靠近原点的一个立方体,其中所包含的颜色为前景,其余的颜色为背景。相应的判定准则是: Color= (5.4)6

17、Matlab编程实现用Matlab来分割彩色图像的过程如下:(1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像 文件路径; (2) RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现;(3) 对ab分量进行Kmean聚类。调用函数kmeans()来实现; (4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示获取图像RGB颜色信息流程如图6.1所示:RGB彩色空间到lab彩色空间的转换对ab分量进行Kmean聚类显示分割后的各个区域结束图6.1 基于RGB模型的彩色图像分割流程图7 程序设计

18、clear;clc;file_name = input(请输入图像文件路径:,s);I_rgb = imread(file_name); %读取文件数据figure();subplot(2,3,1);imshow(I_rgb); %显示原图title(原始图像);%将彩色图像从RGB转化到lab彩色空间C = makecform(srgb2lab); %设置转换格式I_lab = applycform(I_rgb, C);%进行K-mean聚类将图像分割成3个区域ab = double(I_lab(:,:,2:3); %取出lab空间的a分量和b分量nrows = size(ab,1);nco

19、ls = size(ab,2);ab = reshape(ab,nrows*ncols,2);nColors = 3; %分割的区域个数为3cluster_idxcluster_center=kmeans(ab,nColors,distance,sqEuclidean,Replicates,3); %重复聚类3次pixel_labels = reshape(cluster_idxcluster_center,nrows,ncols);subplot(2,3,2);imshow(pixel_labels,),title(聚类结果);%显示分割后的各个区域segmented_images = ce

20、ll(1,3);rgb_label = repmat(pixel_labels,1 1 3);for k = 1:nColorscolor = I_rgb;color(rgb_label = k) = 0;segmented_imagesk = color;endsubplot(2,3,3);imshow(segmented_images1), title(分割结果区域1); subplot(2,3,4);imshow(segmented_images2), title(分割结果区域2); subplot(2,3,5);imshow(segmented_images3), title(分割结果

21、区域3);8 仿真结果与分析8.1 仿真结果(1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像 的文件路径原始图片,得到图8.1:图8.1原始图像(2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现;再调用函数kmeans()对ab分量进行Kmean聚类,得到图8.2:图8.2聚类结果(3)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示,得到如下8.3;8.4以及8.5的三个图像:分割结果区域1:图8.3分割结果区域1分割结果区域2:图8.4分割结果区域2分割结果区域3:图8.5分割结果区域38.2 结果分析图8.1是预处理的原始图像;图8.2则是通过函数makecform()和applycform(),将RGB彩色空间转换到lab彩色空间,再调用函数kmeans(),对ab分量进行Kmean聚类得到的结果。图8.3,图8.4,图8.5则是显示分割后的各个区域。

温馨提示

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

最新文档

评论

0/150

提交评论