彩色图象分割课程设计RGB模型.docx

上传人:b****6 文档编号:3621481 上传时间:2022-11-24 格式:DOCX 页数:12 大小:427.41KB
下载 相关 举报
彩色图象分割课程设计RGB模型.docx_第1页
第1页 / 共12页
彩色图象分割课程设计RGB模型.docx_第2页
第2页 / 共12页
彩色图象分割课程设计RGB模型.docx_第3页
第3页 / 共12页
彩色图象分割课程设计RGB模型.docx_第4页
第4页 / 共12页
彩色图象分割课程设计RGB模型.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

彩色图象分割课程设计RGB模型.docx

《彩色图象分割课程设计RGB模型.docx》由会员分享,可在线阅读,更多相关《彩色图象分割课程设计RGB模型.docx(12页珍藏版)》请在冰豆网上搜索。

彩色图象分割课程设计RGB模型.docx

彩色图象分割课程设计RGB模型

摘要

彩色图像的处理有时需要将图像数据在不同的颜色空间中表示,因此,图像的颜色空间之间的转换成为一项有意义的工作,其中RGB在颜色空间转换中其关键作用,是各个空间转换的桥梁。

为了研究基于全参考图像的RGB模型彩色图像分割方法及其质量的客观评价方法,依据RGB模型彩色图像分割后得到的颜色分量具有相关性,对于彩色图像,应用基于传统阈值分割算法分析,主要使用到imread获取图像的RGB颜色信息,函数makecform()和applycform()来实现,将彩色图像转换成灰度图像,进而实现基于RGB模型的彩色图像的分割。

实验结果表明,提出的算法均可用与一定目的的RGB模型彩色图像的分割,由给出一组基于误差的单位像素的分割质量的客观评价的计算公式计算出的数据可用于彩色图像的分割质量的客观评价,且与彩色图像的分割效果的主观质量评价结果是一致的,可用于彩色图像分割质量的评价。

关键字:

Matlab;图像处理;RGB

目录

1设计目的及要求1

1.1设计目的1

1.2设计要求1

2图像处理简介2

2.1图像处理技术2

2.2图像处理的内容3

3设计原理4

4设计方案5

4.1设计思想5

4.1设计流程8

5代码实现9

6仿真与结果分析11

6.1仿真结果11

6.2结果分析12

结论13

参考文献14

彩色图象分割课程设计—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)显示分割后的各个区域。

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

 

5代码实现

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

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

 

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颜色空间的阈值分割算法进行边界提取,对于提取边缘后的图像,就可以进行下列处理了

(3)首先对提取的分割图像用kmeans(),来实现对ab分量进行Kmean聚类,最后,通过subplot()函数显示分割后的各个区域。

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

这次课程设计采用的是简单的RGB彩色图像分割程序其中有很多的不足点需要改进;

显示器收到数据的时候就可以按照程序设定转换成制定的红,绿,蓝三原色,其实他们当中有很多不同颜色的小色快的,由于这些色块的像素非常非常小而且密密麻麻的所以我们眼睛没法分辨出来

 

参考文献

[1]秦襄培.MATLAB图像处理与页面编程[M].电子工业出版社,2009:

21-31.

[2]万毅.指纹图像分割技术算法研究[D].吉林:

吉林大学,2011:

2-15.

[3]徐琳俊.数字图像分割算法研究[D].江苏:

江苏科技大学,2011:

23-33.

[4]钱智明.图像分割方法研究[D].长沙:

国防科技大学,2010:

31-55.

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

44-78.

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

23-42.

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

31-44.

[8]李强.图像分割中的阈值法研究[J].铜仁职业技术学院学报,2008:

12-34.

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

23-44.

[10]赵春阳.计算机RGB图像处理[M].深圳华夏电子出版社,2010:

69-107

 

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

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1