RGB图像的色彩提取教程.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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: 图1 RGB图像原理 图2 RGB图像RGB三色矩阵 所以RGB图像的颜色分布区间如图3: 图3 RGB图像的颜色分布图 因此可得到六种颜色的判别规则如下: 红颜色范围的判别规则: (R-Gdiff_R) (R-Bdiff_R) 绿颜色范围的判别规则: (G-Rdiff_G) (G-Bdiff_G) 蓝颜色范围的判别规则: (B-Rdiff_B) (B-Gdiff_B) 洋红色范围的判别规则: B128R128(R-G)diff_M(B-G)diff_M 黄颜色范围的判别规则: R128G128(R-B)diff_Y(G-B)diff_Y 青颜色范围的判别规则: B128G128(B-R)diff_C(G-R)diff_C 利用以上判别准则来作为程序设计的核心,通过设计判断语句,对图像的不同色域进行分离,从而实现颜色分离。 3.程序设计 3.1设计流程图 以下是整体程序的设计流程如图4: 选择图片 显示读入的图片 选择分离的颜色(判别条件) 及掩膜方式选择 调节阈值 颜色提取是否 满足目标? 保存图像 结束 Y N 图4 程序实现流程图 通过此流程图,可以把握全局思想来完成图像颜色提取的框架结构,这样可以有益于对整体的把握。 3.2.主要程序段分析 (1)读入图像部分的程序段分析: %打开图像 [FileName, FilePath]=uigetfile(*.jpg;*.png;*.tif;*.img;*.gif;,请选择图像数据); if isequal(FilePath,0) %如果未选择图像则返回,防止报错 return; end str=[FilePath FileName]; %文件的路径,文件名称 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)掩膜方式选择及判别条件确定主要程序段分析(以红色提取为例): function Redbutton_Callback(hObject, eventdata, handles) global Image R G B diff_R Gray Blackk Whitee aa %掩膜方式的选择:从下拉菜单中选择掩膜方式 str1=get(handles.popupmenu1,String); val=get(handles.popupmenu1,Value); switch str1{val} case 灰度掩膜 current_data=Gray; case 黑色掩膜 current_data

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档