rgb图像的色彩提取

RGB图像颜色分离的MATLAB实现1.理论分析1.1程序设计的初衷自己的专业方向会可能用到图像处理的知识,作为数字图像处理的初学者,此程序完全是为实现自己兴趣并结合我们所学的MATLAB课程及GUI知识而编写的,可以实现对图中感兴趣物体颜色的提取,从而突出事物。设计的知识背景或许浅,课下希望能向研究Matlab数字图像处理的老师,同学们多多请教,交流。1.2程序实现的理论分析若想实现对RGB图像颜色提取,最为关键的也最为核心的是对R/G/B等颜色严格界定的判别规则。而对于非目标颜色则会通过掩膜覆盖,从而突出显示所要提取到的颜色。此程序中提到的判别规则是更具R/G/B中某一颜色分量明显不小于其它分量时,即判别某像素点为某种颜色,并通过设置判别阈值,来控制判别条件的颜色与否。1.2.RGB图像背景知识介绍所谓的RGB图像,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB图像原理如下图1~图2:图1RGB图像原理图2RGB图像RGB三色矩阵所以RGB图像的颜色分布区间如图3:图3RGB图像的颜色分布图因此可得到六种颜色的判别规则如下:利用以上判别准则来作为程序设计的核心,通过设计判断语句,对图像的不同色域进行分离,从而实现颜色分离。3.程序设计3.1设计流程图以下是整体程序的设计流程如图4:青颜色范围的判别规则:B>128&G>128&(B-R)>diff_C&(G-R)>diff_C黄颜色范围的判别规则:R>128&G>128&(R-B)>diff_Y&(G-B)>diff_Y洋红色范围的判别规则:B>128&R>128&(R-G)>diff_M&(B-G)>diff_M蓝颜色范围的判别规则:(B-R>diff_B)&&(B-G>diff_B)绿颜色范围的判别规则:(G-R>diff_G)&&(G-B>diff_G)红颜色范围的判别规则:(R-G>diff_R)&&(R-B>diff_R)图4程序实现流程图通过此流程图,可以把握全局思想来完成图像颜色提取的框架结构,这样可以有益于对整体的把握。3.2.主要程序段分析(1)读入图像部分的程序段分析:%打开图像[FileName,FilePath]=uigetfile('*.jpg;*.png;*.tif;*.img;*.gif;','请选择图像数据');ifisequal(FilePath,0)%如果未选择图像则返回,防止报错return;endstr=[FilePathFileName];%文件的路径,文件名称NY结束保存图像颜色提取是否调节阈值选择分离的颜色(判别条件)及掩膜方式选择显示读入的图片选择图片Image=imread(str);imshow(Image)%读入图形,显示图形%%掩膜处理方式预设置Gray=rgb2gray(Image);%灰度处理Blackk=zeros(size(Gray));%黑色掩膜处理Whitee=255*ones(size(Gray));%白色掩膜处理R=Image(:,:,1);%分别分出R分量G=Image(:,:,2);%分别分出G分量B=Image(:,:,3);%分别分出B分量aa=0;%不做任何处理的原图标志位此段程序实现图片的读入并实现对掩膜方式的的初始化实现,通过对三种掩膜方式设置,后面可以直接选择。(2)掩膜方式选择及判别条件确定主要程序段分析(以红色提取为例):functionRedbutton_Callback(hObject,eventdata,handles)globalImageRGBdiff_RGrayBlackkWhiteeaa%掩膜方式的选择:从下拉菜单中选择掩膜方式str1=get(handles.popupmenu1,'String');val=get(handles.popupmenu1,'Value');switchstr1{val}case'灰度掩膜'current_data=Gray;case'黑色掩膜'current_data=Blackk;case'白色掩膜'current_data=Whitee;end%从GUI编辑界面上获取当前所选颜色的阈值diffr=get(handles.edit1,'String');diff_R=str2num(diffr);Image_R=Image;RP_R=Image(:,:,1);RP_G=Image(:,:,2);RP_B=Image(:,:,3);XYR=~((R-G)>diff_R&(R-B)>diff_R);%提取红色条件是R分量与G、B分量差值大于设定Mask=current_data(XYR);%掩膜方式RP_R(XYR)=Mask;RP_G(XYR)=Mask;RP_B(XYR)=Mask;%使得非红色区域变为选择的颜色Image_R(:,:,1)=RP_R;Image_R(:,:,2)=RP_G;Image_R(:,:,3)=RP_B;imshow(Image_R)title(strcat(['R分量阈值为',diffr,'时的图像']));aa=1;%进行红色处理的标志位其他颜色(绿色,蓝色,黄色,洋红色,青色)提取主要程序段与之类似。(3)...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?