彩色图象分割课程设计-RGB模型教材_第1页
彩色图象分割课程设计-RGB模型教材_第2页
彩色图象分割课程设计-RGB模型教材_第3页
彩色图象分割课程设计-RGB模型教材_第4页
彩色图象分割课程设计-RGB模型教材_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

沈阳理工大学数字图象处理课程设计彩色图象分割课程设计—RGB模型1设计目的及要求1.1设计目的(1)综合运用相关课程中所学到的理论知识去独立完成设计课题。(2)通过查阅手册和相关文献资料,培养独立分析和解决问题的能力。(3)进一步熟悉Matlab运用和图像处理的知识,加深对专业知识和理论知识学习的认识和理解。(4)学会撰写课程设计的总结报告。(5)培养严肃认真的工作作风和严谨的科学态度。1.2课程设计要求(1)熟悉和掌握MATLAB程序设计方法;

(2)学习和熟悉MATLAB图像处理工具箱;

(3)学会运用MATLAB工具箱对图像进行处理和分析;

(4)对给定的彩色图像的颜色,使用RGB颜色模型,来对其进处理(5)并且设计MATLAB程序,使其能完成输入图像便自动使用RGB模型来进行图像分割。-2图像处理简介2.1图像处理技术图像处理技术包括:空域处理方法和变换域处理方法。(1)图像信息的获取为了在计算机上进行图像处理,必须把作为处理对象的模拟图像转换成数字图像信息。图像信息的获取,一般包括图像的摄取、转换及数字化等几个步骤。该部分主要由处理系统硬件实现。(2)图像信息的存储于交换由于数字图像信息量大,且在处理过程中必须对数据进行存储和交换,为了解决大数据量及交换与传输时间的矛盾,通常除采用大容量机内存存储器进行并行传送,直接存储访问外,还必须采用外部磁盘、光盘及磁带存储方式,从而达到提高处理的目的。该部分组要功能也由硬件完成。(3)数字图像处理数字图像处理,即把在空间上离散的,在幅度上量化分层的数字图像,在经过一些特定数理模式的加工处理,以达到有利于人眼视觉或某种接收系统所需要的图像过程。(4)数字图像通讯80年代以来,由于计算机技术和超大规模集成电路技术的巨大发展,推动了通讯技术(包括语言、数据、图像)的飞速发展。因为图像通讯具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通讯比模拟图像通讯更具抗干扰性,便于压缩编码处理和易于加密,因此在图像通讯工程中数字处理技术获得广泛应用。2.2图像处理的内容图像处理的内容包括:图像变换,图像增强,图像编码与压缩,图像复原,图像重建,图像识别以及图像理解。(1)图像数字化图像数字化即图像采样和量化,是指把连续的图像信号变为离散的数字信号,以适应计算机的处理。(2)图像编码压缩把数字化的图像数据按一定规则进行排列或运算过程,称为图像编码。利用图像本身的内在特性,通过某种特殊的编码方式,达到减少原图像数据时空占用量的处理叫做图像压缩编码。(3)图像变换一般指利用正交变换的性质和特点,将图像转换到变换域中进行处理,并且大部分变换都有快速算法。(4)图像增强图像增强的目的是突出图像中所感兴趣的部分,如强化图像的高频分量,可使图像中物体轮廓清晰,细节明显。(5)图像复原图像复原是尽可能恢复图像的本来面貌,是对图像整体而言,而且在复原处理时,往往必须追求降质原因,以便“对症下药”,而增强往往是局部。(6)图像分割将图像中包含的物体,按其灰度或几何特性分割,并进行处理分析,从中提取有效分量、数据等有用信息。这是进一步进行图像处理如模式识别、机器视觉等技术的基础。(7)图像分类简单地说就是在图像分割的基础上,进行我体的判决分类。3设计原理RGB颜色空间是最基本的色彩空间主要是面向硬件设备的,它是与人类视觉系统有着密切关系的空间模型,它通常用于显示器,打印机和其他设备,是最常见的和最常用的色彩空间。通常,RGB空间用数据立方体模型来表示,由图3.1可知。在图中,R,G,B这三个分量分别位于三角上,绿色,红色和黄色在其他三个角落,黑色在原点,白色的角度离原点最远的。在这个空间中,灰度等级是沿着黑白两点之间的连线分布。图3.1RGB色彩空间示意图比色法则:1、通过R,G,B三种颜色可以产生任意颜色,这三种颜色组合后形成的颜色也是唯一的;2、如果两种颜色的三个分量相等,则这两种颜色是相同的,这三个分量乘以或除以相同的数得到的颜色依旧是一样的;3、各种颜色组成的混合色的亮度等于其中每个颜色亮度的总和。RGB色彩空间适用于彩色显示,同时,R,G,B这三个分量有很高的相关性,如果强度发生变化,则这三个颜色分量也会发生相应的变化。此外,在RGB空间不能用距离来衡量两个颜色相似性。4设计方案4.1设计思想对于彩色图像,传统的阈值分割算法是先将彩色图像转换成灰度图像,再取一个灰度值作为阈值,逐个像素进行处理,若此像素灰度值小于等于阈值的为前景,置为黑色,若大于阈值的为背景,置为白色。RGB三原色到灰度的转换公式为:(4.1)在灰度值一定的情况下,此公式是三元一次方程,在笛卡尔坐标系中对应着一个平面[7]。设灰度值取为60,则方程为:(4.2)对应的空间平面在RGB颜色空间中的位置由图4.1可知。.图4.1灰度转换与RGB颜色空间模型对照RGB颜色空间模型看,位于此平面上的所有点,经灰度转换后,其灰度值都是60。如果以灰度值60为阈值对彩色图像进行分割,则图像中所有颜色值位于此阈值分割平面下方的,其颜色经灰度转换后都将小于60,因此都将判定为前景;同样的,图像中所有颜色值位于此阈值分割平面上方的,将被判定为背景。相应的判定准则是:{(4.3)考察当三原色当中的蓝色为0时的情况,由图4.2可知图4.2蓝色为0时的阈值分割情况对应的灰度转换方程为:(4.4)此平面上的点,以阈值分割线为界,上方的将被判定为背景,下方的将被判定为前景。当红色或绿色为0时,也有相同的情况。基于RGB颜色空间的阈值分割算法,考察蓝色为0时的颜色分布情况,由图4.3可知。图4.3蓝色为0时的颜色分布情况由图4.3中,左下角为黑色,左上角为红色,右上角为黄色,右下角为绿色。观察图4种的颜色分布情况,可以发现,接近黑色的颜色分布在左下角近似正方形的部分,而不是由图4.3中的三角形部分中,也就是说,就红、绿两原色组合成的色彩而言,将彩色图形转换为灰度图形后,有一部分色彩在彩色情况下视觉上明显不是黑色,但转换为灰度颜色后视觉上会感觉比较接近黑色。在由红、蓝及蓝、绿甚至红、蓝、绿三原色组合成的色彩中,也都存在着同样的情况。由于灰度转换造成的这种误差,在对图像进行阈值分割时会形成误判[5]。对于彩色图像,由于传统的阈值分割算法是对图像颜色进行灰度转换后进行分割,还原到彩色空间中相当于是取了图2中靠近坐标原点的一个四面体所包含的颜色为前景。此四面体中远离原点的四个角部分的色彩已经较大地偏离了黑色,而转换为灰度颜色后这种偏离将被掩盖,从而造成对图像进行阈值分割时的不准确[3]。基于以上分析,提出新的对彩色图像进行阈值分割的思路:在RGB色彩空间中取靠近原点的一个立方体,其中所包含的颜色为前景,其余的颜色为背景。相应的判定准则是:{(4.5)4.2设计流程图4.4基于RGB模型的彩色图像分割流程图用Matlab来分割彩色图像的过程如下:

(1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径;

(2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现;

(3)对ab分量进行Kmean聚类。调用函数kmeans()来实现;

(4)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示代码实现(1)使用函数imread()获取图像的RGB颜色信息,然后通过函数makecform()和applycform()来实现RGB彩色空间到lab彩色空间的转换,其核心代码如下: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);ncols=size(ab,2);ab=reshape(ab,nrows*ncols,2);nColors=3;%分割的区域个数为3(2)再调用函数kmeans(),来实现对ab分量进行Kmean聚类。最后,通过subplot()函数显示分割后的各个区域。进而实现基于RGB模型的彩色图像的分割,核心代码如下:[cluster_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=cell(1,3);rgb_label=repmat(pixel_labels,[113]);fork=1:nColorscolor=I_rgb;color(rgb_label~=k)=0;segmented_images{k}=color;endsubplot(2,3,3);imshow(segmented_images{1}),title('分割结果——区域1');subplot(2,3,4);imshow(segmented_images{2}),title('分割结果——区域2');subplot(2,3,5);imshow(segmented_images{3}),title('分割结果——区域3');6仿真与结果分析6.1仿真结果(1)获取图像的RGB颜色信息。通过与用户的交互操作来提示用户输入待处理的彩色图像的文件路径原始图片,得到图6.1:图6.1原始图像由图6.1可知:是一幅多姿多彩的摩天轮图片(2)RGB彩色空间到lab彩色空间的转换。通过函数makecform()和applycform()来实现;再调用函数kmeans()对ab分量进行Kmean聚类,得到图6.2:图6.2聚类结果由图6.2可知:经过了聚类处理后变成了一幅灰度图像(3)显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示,得到如下6.3;6.4以及6.5的三个图像:分割结果——区域1:图6.3分割结果——区域1由图6.3可知:经过了图像分割与图像增强提取了图像中的R分量,红色细节明显分割结果——区域2:图6.4分割结果——区域2由图6.4可知:经过图像分割与图像增强图像提取了图像中的B分量,蓝色特征清晰分割结果——区域3:图6.5分割结果——区域3由图6.5可知:经过了图像分割与图像增强提取了图像的G分量,绿色特征明显6.2结果分析见图6.1是预处理的原始图像;图6.2则是通过函数makecform()和applycform(),将RGB彩色空间转换到lab彩色空间,再调用函数kmeans(),对ab分量进行Kmean聚类得到的结果。图6.3,图6.4,图6.5则是显示分割后的各个区域。用三副图像分别来显示各个分割目标,背景用黑色表示结论本次课程设计考察了对输入的图像进行分割化处理,然后进行区域测量的基于matlab软件的编程能力,经过了几天的设计之后,我取得了如下的一些成果:(1))首先,在matlab代码中可用imread()函数将其读入;然后,为了便于处理,通过函数makecform()和applycform()来实现RGB彩色空间到lab彩色空间的转换。(2)得到灰度图像后,采用基于RGB颜色空间的阈值分割算法进行边界提取,对于提取边缘后的图像,就可以进行下列处理了

温馨提示

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

评论

0/150

提交评论