几种颜色模型的转换--lxs.docx_第1页
几种颜色模型的转换--lxs.docx_第2页
几种颜色模型的转换--lxs.docx_第3页
几种颜色模型的转换--lxs.docx_第4页
几种颜色模型的转换--lxs.docx_第5页
全文预览已结束

下载本文档

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

文档简介

1颜色模型:所谓颜色模型就是指某个三维颜色空间中的一个可见光子集,它包含某个颜色域的所有颜色。颜色模型的用途是在某个颜色域内方便的指定颜色,由于每一个颜色域都是可见光的子集,所以任何一个颜色模型都无法包含所有的可见光。在大多数的彩色图形显示设备一般都是使用红、绿、蓝三元色,我们的真实感图形学中的主要的颜色模型也是RGB模型,但是红、绿、蓝颜色模型用起来不太方便,它与直观的颜色概念如色调、饱和度和亮度等没有直接的联系。2 RGB 向HSI 模型的转换是由一个基于笛卡尔直角坐标系的单位立方体向基于圆柱极坐标的双锥体的转换。基本要求是将RGB 中的亮度因素分离,将色度分解为色调和饱和度,并用角向量表示色调,如图2所示。2. RGB 转换至HSI的几种常见方法下图列出几种常用的RGB-HSI转换公式:Matlab算法实现:标注:这里是采用算法1,几何推导法实现的%将RGB图像转换为HSI图像% 显示HSI图像%直方图均衡化HSI图像%将HSI图像转换回RGB图像function rgbtohsi(x)F=imread(123.jpg); %相对路径下的文件图片F=im2double(F);r=F(:,:,1);g=F(:,:,2);b=F(:,:,3);th=acos(0.5*(r-g)+(r-b)./(sqrt(r-g).2+(r-b).*(g-b)+eps);H=th;H(bg)=2*pi-H(bg);H=H/(2*pi);S=1-3.*(min(min(r,g),b)./(r+g+b+eps);I=(r+g+b)/3;hsi=cat(3,H,S,I);HE=H*2*pi;HE=histeq(HE);HE=HE/(2*pi);SE=histeq(S);IE=histeq(I);choice=input(1:RGB 转换为 HSIn2:显示HSI图像n3:HSI转换为RGB图像n4:色调均衡n5:饱和度均衡n6:亮度均衡 n7:HSI均衡n 输入您的选择 :);switch choicecase 1figure,imshow(F),title(RGB 图像);figure, imshow(hsi),title(HSI 图像);case 2figure,imshow(F),title(RGB 图像);figure, imshow(H),title(Hue 图像);figure, imshow(S),title(饱和度图像);figure, imshow(I),title(亮度图像); case 3C=hsitorgb(hsi);figure,imshow(hsi),title(HSI 图像);figure, imshow(C),title(RGB 图像);case 4RV=cat(3,HE,S,I);C=hsitorgb(RV);figure,imshow(hsi),title(HSI 图像);figure,imshow(F),title(RGB 图像);figure, imshow(C),title(RGB Image-Hue Equalized);case 5RV=cat(3,H,SE,I);C=hsitorgb(RV);figure,imshow(hsi),title(HSI 图像);figure,imshow(F),title(RGB 图像);figure, imshow(C),title(RGB 饱和度均衡);case 6RV=cat(3,H,S,IE);C=hsitorgb(RV);figure,imshow(hsi),title(HSI 图像);figure,imshow(F),title(RGB 图像);figure, imshow(C),title(RGB 亮度均衡);case 7RV=cat(3,HE,SE,IE);C=hsitorgb(RV);figure,imshow(hsi),title(HSI 图像);figure,imshow(F),title(RGB 图像);figure, imshow(C),title(RGB HSI 均衡);otherwisedisplay(选择错误);endend%函数,将HSI图像转换为RGB图像function C=hsitorgb(hsi)HV=hsi(:,:,1)*2*pi;SV=hsi(:,:,2);IV=hsi(:,:,3);R=zeros(size(HV);G=zeros(size(HV);B=zeros(size(HV);%RG Sectorid=find(0=HV)& (HV2*pi/3);B(id)=IV(id).*(1-SV(id);R(id)=IV(id).*(1+SV(id).*cos(HV(id)./cos(pi/3-HV(id);G(id)=3*IV(id)-(R(id)+B(id);%BG Sectorid=find(2*pi/3=HV)& (HV4*pi/3);R(id)=IV(id).*(1-SV(id);G(id)=IV(id).*(1+SV(id).*cos(HV(id)-2*pi/3)./cos(pi-HV(id);B(id)=3*IV(id)-(R(id)+G(id);%BR Sectorid=find(4*pi/3=HV)& (HV2*pi);G(id)=IV(id).*(1-SV(id);B(id)=IV(id).*(1+SV(id).*cos(HV(id)-4*pi/3)./cos(5*pi/3-HV(id);R(id)=3*IV(id)-(G(id)+B(id);C=cat(3,R,G,B);C=max(min(C,1),0);end3从相关的文献包括OpenCv的文档中可找到两者的理论转换算式如下: X 0.412453 0.357580 0.180423 R Y = 0.212671 0.715160 0.072169 G

温馨提示

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

评论

0/150

提交评论