彩色图像分割RGB模型.docx

上传人:b****8 文档编号:12916717 上传时间:2023-06-09 格式:DOCX 页数:16 大小:166.91KB
下载 相关 举报
彩色图像分割RGB模型.docx_第1页
第1页 / 共16页
彩色图像分割RGB模型.docx_第2页
第2页 / 共16页
彩色图像分割RGB模型.docx_第3页
第3页 / 共16页
彩色图像分割RGB模型.docx_第4页
第4页 / 共16页
彩色图像分割RGB模型.docx_第5页
第5页 / 共16页
彩色图像分割RGB模型.docx_第6页
第6页 / 共16页
彩色图像分割RGB模型.docx_第7页
第7页 / 共16页
彩色图像分割RGB模型.docx_第8页
第8页 / 共16页
彩色图像分割RGB模型.docx_第9页
第9页 / 共16页
彩色图像分割RGB模型.docx_第10页
第10页 / 共16页
彩色图像分割RGB模型.docx_第11页
第11页 / 共16页
彩色图像分割RGB模型.docx_第12页
第12页 / 共16页
彩色图像分割RGB模型.docx_第13页
第13页 / 共16页
彩色图像分割RGB模型.docx_第14页
第14页 / 共16页
彩色图像分割RGB模型.docx_第15页
第15页 / 共16页
彩色图像分割RGB模型.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

彩色图像分割RGB模型.docx

《彩色图像分割RGB模型.docx》由会员分享,可在线阅读,更多相关《彩色图像分割RGB模型.docx(16页珍藏版)》请在冰点文库上搜索。

彩色图像分割RGB模型.docx

彩色图像分割RGB模型

成绩评定表

学生姓名

班级学号

专业

电子信息工程

课程设计题目

彩色图像分割程序设计——RGB模型

 

 

组长签字:

成绩

 

日期

201年月日

课程设计任务书

学院

信息科学及工程

专业

电子信息工程

学生姓名

班级学号

课程设计题目

彩色图像分割程序设计——RGB模型

实践教学要求及任务:

本次课程设计中,主要任务是实现基于RGB模型的彩色图像分割的程序设计,对给定的彩色图像的颜色,使用RGB颜色模型,来对其进处理。

并且设计MATLAB程序,使其能完成输入图像便自动使用RGB模型来进行图像分割。

 

工作计划及进度安排:

第一阶段(1-2天):

熟悉matlab编程环境,查阅相关资料;

第二阶段(2-3天):

算法设计;

第三阶段(2-3天):

编码及调试;

第四阶段(1-2天):

实验及分析;

第五阶段(1-2天):

编写文档。

指导教师:

201年月日

专业负责人:

201年月日

学院教学副院长:

201年月日

摘要

Matlab是当今最优秀的科技应用软件之一,它一强大的科学计算及可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向不同领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计及分析,算法研究和应用开发的基本工具盒首选平台在图像处理中,Matlab也得到了广泛的应用,例如图像变换,设计FIR滤波器,图像增强,四叉树分解,边缘检测,小波分析等等。

不同的颜色空间在描述图像的颜色时侧重点不同。

如RGB(红、绿、蓝三原色)颜色空间适用于彩色监视器和彩色摄象机,HSI(色调、饱和度、亮度)更符合人描述和解释颜色的方式(或称为HSV,色调、饱和度、亮度),CMY(青、深红、黄)、CMYK(青、深红、黄、黑)主要针对彩色打印机、复印机等,YIQ(亮度、色差、色差)是用于NTSC规定的电视系统格式,YUV(亮度、色差、色差)是用于PAL规定的电视系统格式,YCbCr(亮度单一要素、蓝色及参考值的差值、红色及参考值的差值)在数字影像中广泛应用。

彩色图像的处理有时需要将图像数据在不同的颜色空间中表示,因此,图像的颜色空间之间的转换成为一项有意义的工作。

其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁。

Matlab中的颜色空间转换只涉及到了RGB、HSV、YCbCr、YIQ等,没有包含lαβ和其它颜色空间的转换。

关键字:

Matlab;图像处理;RGB

彩色图像分割程序设计——RGB模型

1设计任务及目的

1.1设计任务

对给定的彩色图像的颜色,使用RGB颜色模型,来对其进处理。

并且设计MATLAB程序,使其能完成输入图像便自动使用RGB模型来进行图像分割。

1.2设计目的

(1)综合运用相关课程中所学到的理论知识去独立完成设计课题。

(2)通过查阅手册和相关文献资料,培养独立分析和解决问题的能力。

(3)进一步熟悉Matlab运用和图像处理的知识,加深对专业知识和理论知识学习的认识和理解。

(4)学会撰写课程设计的总结报告。

(5)培养严肃认真的工作作风和严谨的科学态度。

 

2MATLAB简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

 

MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

 

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理及通讯、图像处理、信号检测、金融建模设计及分析等领域。

 [4]

MATLAB的基本数据单位是矩阵,它的指令表达式及数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

 

3图像处理简介

数字图像处理,通俗地讲是指应用计算机以及数字设备对图像进行加工处理的技术。

3.1图像处理技术

图像处理技术包括:

空域处理方法和变换域处理方法。

[1]

(1)图像信息的获取

为了在计算机上进行图像处理,必须把作为处理对象的模拟图像转换成数字图像信息。

图像信息的获取,一般包括图像的摄取、转换及数字化等几个步骤。

该部分主要由处理系统硬件实现。

(2)图像信息的存储于交换

由于数字图像信息量大,且在处理过程中必须对数据进行存储和交换,为了解决大数据量及交换及传输时间的矛盾,通常除采用大容量机内存存储器进行并行传送,直接存储访问外,还必须采用外部磁盘、光盘及磁带存储方式,从而达到提高处理的目的。

该部分组要功能也由硬件完成。

(3)数字图像处理

数字图像处理,即把在空间上离散的,在幅度上量化分层的数字图像,在经过一些特定数理模式的加工处理,以达到有利于人眼视觉或某种接收系统所需要的图像过程。

(4)数字图像通讯

80年代以来,由于计算机技术和超大规模集成电路技术的巨大发展,推动了通讯技术(包括语言、数据、图像)的飞速发展。

因为图像通讯具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通讯比模拟图像通讯更具抗干扰性,便于压缩编码处理和易于加密,因此在图像通讯工程中数字处理技术获得广泛应用。

(5)图像的输出和显示

数字图像处理的最终目的是为了提供便于人眼或接收系统解释和社别图像,因此图像的输出和显示很重要。

一般图像输出的方式可分为硬拷贝,诸如照相、打印、扫描鼓等,还有所谓的软拷贝,诸如CRT监视器及各种新型的平板监视器等。

[2]

3.2图像处理的内容

图像处理的内容包括:

图像变换,图像增强,图像编码及压缩,图像复原,图像重建,图像识别以及图像理解。

(1)图像数字化

图像数字化即图像采样和量化,是指把连续的图像信号变为离散的数字信号,以适应计算机的处理。

(2)图像编码压缩

把数字化的图像数据按一定规则进行排列或运算过程,称为图像编码。

利用图像本身的内在特性,通过某种特殊的编码方式,达到减少原图像数据时空占用量的处理叫做图像压缩编码。

(3)图像变换

一般指利用正交变换的性质和特点,将图像转换到变换域中进行处理,并且大部分变换都有快速算法。

(4)图像增强

图像增强的目的是突出图像中所感兴趣的部分,如强化图像的高频分量,可使图像中物体轮廓清晰,细节明显。

(5)图像复原

图像复原是尽可能恢复图像的本来面貌,是对图像整体而言,而且在复原处理时,往往必须追求降质原因,以便“对症下药”,而增强往往是局部。

(6)图像分割

将图像中包含的物体,按其灰度或几何特性分割,并进行处理分析,从中提取有效分量、数据等有用信息。

这是进一步进行图像处理如模式识别、机器视觉等技术的基础。

(7)图像分类

简单地说就是在图像分割的基础上,进行判决分类。

(8)图像重建

它是对一些三维物体,应用x射线、超声波等物理方法,取得物体内部结构数据,再将这些数据进行运算处理而构成物体内部某些部位的图像。

目前图像重建最成功的例子是CT技术(计算机断层扫描成像技术)、彩色超声波等。

4RGB模型简介

RGB颜色空间是最基本的色彩空间主要是面向硬件设备的,它是及人类视觉系统有着密切关系的空间模型,它通常用于显示器,打印机和其他设备,是最常见的和最常用的色彩空间。

通常,RGB空间用数据立方体模型来表示,如图3.1所示。

在图中,R,G,B这三个分量分别位于三角上,绿色,红色和黄色在其他三个角落,黑色在原点,白色的角度离原点最远的。

在这个空间中,灰度等级是沿着黑白两点之间的连线分布。

[3]

 

图4.1RGB色彩空间示意图

比色法则:

1、通过R,G,B三种颜色可以产生任意颜色,这三种颜色组合后形成的颜色也是唯一的;2、如果两种颜色的三个分量相等,则这两种颜色是相同的,这三个分量乘以或除以相同的数得到的颜色依旧是一样的;3、各种颜色组成的混合色的亮度等于其中每个颜色亮度的总和。

RGB色彩空间适用于彩色显示,同时,R,G,B这三个分量有很高的相关性,如果强度发生变化,则这三个颜色分量也会发生相应的变化。

此外,在RGB空间不能用距离来衡量两个颜色相似性。

[9]

 

5设计方案

5.1传统阈值分割算法分析

对于彩色图像,传统的阈值分割算法是先将彩色图像转换成灰度图像,再取一个灰度值作为阈值,逐个像素进行处理,若此像素灰度值小于等于阈值的为前景,置为黑色,若大于阈值的为背景,置为白色。

RGB三原色到灰度的转换公式为:

Gray=0.30*R+0.59*G+0.11*B(5.1)

在灰度值一定的情况下,此公式是三元一次方程,在笛卡尔坐标系中对应着一个平面。

设灰度值取为60,则方程为:

0.30x+0.59y+0.11z=60(5.2)

对应的空间平面在RGB颜色空间中的位置如图5.1所示。

[5]

 

图5.1灰度转换及RGB颜色空间模型

对照RGB颜色空间模型看,位于此平面上的所有点,经灰度转换后,其灰度值都是60。

如果以灰度值60为阈值对彩色图像进行分割,则图像中所有颜色值位于此阈值分割平面下方的,其颜色经灰度转换后都将小于60,因此都将判定为前景;同样的,图像中所有颜色值位于此阈值分割平面上方的,将被判定为背景。

相应的判定准则是:

Color={

(5.3)

考察当三原色当中的蓝色为0时的情况,如图5.2所示

 

图5.2蓝色为0时的阈值分割情况

对应的灰度转换方程为:

0.30x+0.59y=60(5.3)

此平面上的点,以阈值分割线为界,上方的将被判定为背景,下方的将被判定为前景。

当红色或绿色为0时,也有相同的情况。

[8]

5.2基于RGB颜色空间的阈值分割算法

考察蓝色为0时的颜色分布情况,如图5.3所示。

 

图5.3蓝色为0时的颜色分布情况

图5.3中,左下角为黑色,左上角为红色,右上角为黄色,右下角为绿色。

观察图4中的颜色分布情况,可以发现,接近黑色的颜色分布在左下角近似正方形的部分,而不是如图5.3中的三角形部分中,也就是说,就红、绿两原色组合成的色彩而言,将彩色图形转换为灰度图形后,有一部分色彩在彩色情况下视觉上明显不是黑色,但转换为灰度颜色后视觉上会感觉比较接近黑色。

在由红、蓝及蓝、绿甚至红、蓝、绿三原色组合成的色彩中,也都存在着同样的情况。

由于灰度转换造成的这种误差,在对图像进行阈值分割时会形成误判。

对于彩色图像,由于传统的阈值分割算法是对图像颜色进行灰度转换后进行分割,还原到彩色空间中相当于是取了图2中靠近坐标原点的一个四面体所包含的颜色为前景。

此四面体中远离原点的四个角部分的色彩已经较大地偏离了黑色,而转换为灰度颜色后这种偏离将被掩盖,从而造成对图像进行阈值分割时的不准确。

[6]

基于以上分析,提出新的对彩色图像进行阈值分割的思路:

在RGB色彩空间中取靠近原点的一个立方体,其中所包含的颜色为前景,其余的颜色为背景。

相应的判定准则是:

Color={

(5.4)

5.3K-MEANS聚类方法

K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。

该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

算法过程如下:

(1)从N个文档随机选取K个文档作为质心

(2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类

(3)重新计算已经得到的各个类的质心

(4)迭代2~3步直至新的质心及原质心相等或小于指定阈值,算法结束

处理流程如下:

(1)从n个数据对象任意选择k个对象作为初始聚类中心;

(2)根据每个聚类对象的均值(中心对象),计算每个对象及这些中心对象的距离;并根据最小距离重新对相应对象进行划分;

(3)重新计算每个(有变化)聚类的均值(中心对象)

(4)循环

(2)到(3)直到每个聚类不再发生变化为止

k-means算法接受输入量k;然后将n个数据对象划分为k个聚类以便使得所获得的聚类满足:

同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。

聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

 

6Matlab编程实现 

用Matlab来分割彩色图像的过程如下:

 

(1)获取图像的RGB颜色信息。

通过及用户的交互操作来提示用户输入待处理的彩色图像文件路径; 

(2)RGB彩色空间到lab彩色空间的转换。

通过函数makecform()和applycform()来实现; 

(3)对ab分量进行Kmean聚类。

调用函数kmeans()来实现; 

(4)显示分割后的各个区域。

用三副图像分别来显示各个分割目标,背景用黑色表示[7]

流程如图6.1所示:

 

图6.1基于RGB模型的彩色图像分割流程图

 

7程序设计

clear;

clc;

=input('请输入图像文件路径:

','s');

I_rgb=imread();%读取文件数据

figure();

subplot(2,3,1);

imshow(I_rgb);

title('原始图像');%显示原图

C=makecform('srgb2lab');%将彩色图像从RGB转化到lab彩色空间

I_lab=applycform(I_rgb,C);%设置转换格式

ab=double(I_lab(:

:

2:

3));%进行K-mean聚类将图像分割成3个区域

nrows=size(ab,1);%取出lab空间的a分量和b分量

ncols=size(ab,2);

ab=reshape(ab,nrows*ncols,2);

nColors=3;%分割的区域个数为3

[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:

nColors

color=I_rgb;

color(rgb_label~=k)=0;

segmented_images{k}=color;

end

subplot(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');

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分割结果——区域3

8.2结果分析

图8.1是预处理的原始图像;图8.2则是通过函数makecform()和applycform(),将RGB彩色空间转换到lab彩色空间,再调用函数kmeans(),对ab分量进行Kmean聚类得到的结果。

图8.3,图8.4,图8.5则是显示分割后的各个区域。

用三副图像分别来显示各个分割目标,背景用黑色表示

 

结论

经过将近两周的设计,撰写,基于RGB模型的彩色图像程序设计通过Matlab得以实现。

完成本次课设共经历了三个阶段。

第一阶段是查阅资料。

在拿到题目后,通过网上搜索,以及图书馆借阅相关书籍,再结合所学的相关知识,确定基本思路;

第二阶段是实际操作。

通过对网上下载的一些相关的文档中的有用的部分进行提取和修改,并且加入自己的理解,通过Matlab仿真,得以实现;

最后一阶段是撰写课程设计报告。

总结:

本次课程设计中,主要任务是实现基于RGB模型的彩色图像分割的程序设计,在这个过程中,主要使用到imread获取图像的RGB颜色信息。

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

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

最后,通过subplot()函数显示分割后的各个区域。

进而实现基于RGB模型的彩色图像的分割。

 

参考文献

[1]秦襄培.MATLAB图像处理及页面编程[M].北京,电子工业出版社,2009.P101-105

[2]万毅.指纹图像分割技术算法研究[D].吉林,吉林大学,2011.P23--30

[3]徐琳俊.数字图像分割算法研究[D].江苏,江苏科技大学,2011.P60-66

[4]钱智明.图像分割方法研究[D].长沙,国防科技大学,2010.P152-160

[5]冯艳平,王徽.基于阈值分割和边缘检测的枪支THz图像识别[J].红外,2011.

[6]肖辉.彩色图像分割[J].测绘科技情报,2004.P220-225

[7]罗志宏,冯国灿.一种新变方法在图像分割中的应用[J].计算机科学,2011.P38-40

[8]李强.图像分割中的阈值法研究[J].铜仁职业技术学院学报(自然科学版),2008.P23-30

[9]王丽.相似背景下的苹果图像分割方法仿真研究[J].计算机仿真,2011.P66-68

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2