matlab 色彩模型,常见色彩模型的相互转换(基于MATLAB).doc

学号2013-2014学年第二学期学号

图 像 通 信 课 程 设 计 报 告

设计题目:图像的各种颜色空间转换

摘 要

所谓三基色原理,是指自然界常见的各种颜色光都可由红、绿、蓝三种色光按照不同比例相配而成。同样,绝大多数颜色也可以分解成红、绿、蓝三种色光。这就是色度学中的最基本的原理。彩色模型的用途是在某些标准下用通常课接受的方式简化彩色规范。常常涉及到用几种不同的彩色空间表示图形和图像的颜色,以应对不同的场合和应用。因此,在数字图像的生成、存储、处理及显示时,对应不同的彩色空间,需要作不同的处理和转换。现在主要的彩色模型有RGB模型、CMY模型、YUV模型、YIQ模型、YcbCr模型、HSI模型等。本设计主要使用MATLAB编程的方法,实现RGB与其余四种模型之间的互化。即使用不同的色彩模型表示同一图形或图像。通过转换实现色彩模型的变换之后,可以让同一幅图像以各种模式在全球范围内流通,所以本设计具有一定的实际意义。一般的图像原始都为RGB—加色混合色彩模型,它与剩下的几个色彩模型之间存在着函数对应关系,通过矩阵运算改变模型的参数就可以实现不同色彩模型之间的相互转换。例如CMY—减色混合色彩模型,就是利用青色、深红色、黄色这三种彩色按照一定比例来产生想要的彩色,CMY是RGB三基色的补色,它与RGB存在如下关系: CMY=111-RGB,使用MATLAB编程时,读入三个通道的数值,按照对应关系进行矩阵变换就可以转换成CMY色彩模型。其他色彩模型转换原理与此相似。

关键词:MATLAB,RGB、YUV、YIQ、YCbCr、HSI、色彩模型一、设计任务、目的和要求任务:实现RGB模型、CMY模型、YUV模型、YIQ模型、YcbCr模型、HSI模型这几种不同色彩模型之间的相互转换要求:最终结果用图像显示

二、总体方案设计系统运行环境:WINDOWS 7操作系统

编程软件平台:MATLAB2012b

编码算法原理:将原图的三基色数值读入,根据不同色彩模型之间的相互关系,通过矩阵运算改变不同的亮度和色度等信息来实现色彩模型的转换,然后将变换后的图像导出

流程图:开始

获取R、G、B三通道分量

进行矩阵变换得到图形

进行反变换得到反变换图形

将所得图形与原始图形比较

结束

三、设计实现

1、RGB模型和CMY模型的互化变换公式:CMY=111-RGBclc;clear;close;X=imread('1.jpg');%读取原始图形Image = im2double(X); %归一化处理subplot(131),imshow(Image),title('原图');%读取图像的RGB分量r = Image(:, :, 1); g = Image(:, :, 2); b = Image(:, :, 3);

%进行RGB到CMY的变换C=1-r;M=1-g;Y=1-b;CMY = cat(3, C, M, Y); subplot(132),imshow(CMY),title('RGB转CMY');%进行CMY到RGB的反变换r1=1-C;g1=1-M;b1=1-Y;rgb1 = cat(3, r1, g1, b1); subplot(133),imshow(rgb1),title('CMY转RGB');%数值分析反变换后和原图的差别x=rgb1-Image;disp(x);

2、RGB模型和YUV色彩模型的互化变换公式:YUV=RGB

clear all;close all;clc;%清除内存空间信息,以便程序运行img=imread('1.jpg'); %读取原始图形img=im2double(img);%将图像映射到[0,1]区间;[m,n,dim]=size(img);%获得原图像长、宽、维数的数据subplot(131),imshow(img),title('原图');%%图像的RGBR=img(:,:,1);G=img(:,:,2);B=img(:,:,3);

%%RGB2YUVY=zeros(m,n); %亮度I=zeros(m,n); %彩度V=zeros(m,n); %浓度%定义乘法矩阵matrix=[0.299 0.587 0.114; -0.147 -0.298 0.436; 0.615 -0.515 -0.100];

%用for循环实现图像中每一个点的矩阵变换,即实现模型变换 for i=1:m for j=1:n tmp=matrix*[R(i,j) G(i,j) B(i,j)]'; Y(i,j)=tm

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值