資源描述:
《RGB與YUV、YIQ、YCBCR、HSI、CMY的模型互化(基于MATLAB).pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、學(xué)號2013-2014學(xué)年第二學(xué)期學(xué)號圖像通信課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:圖像的各種顏色空間轉(zhuǎn)換摘要所謂三基色原理,是指自然界常見的各種顏色光都可由紅、綠、藍(lán)三種色光按照不同比例相配而成。同樣,絕大多數(shù)顏色也可以分解成紅、綠、藍(lán)三種色光。這就是色度學(xué)中的最基本的原理。彩色模型的用途是在某些標(biāo)準(zhǔn)下用通常課接受的方式簡化彩色規(guī)范。常常涉及到用幾種不同的彩色空間表示圖形和圖像的顏色,以應(yīng)對不同的場合和應(yīng)用。因此,在數(shù)字圖像的生成、存儲、處理及顯示時(shí),對應(yīng)不同的彩色空間,需要作不同的處理和轉(zhuǎn)換?,F(xiàn)在主要的彩色模型有RGB模型、CMY模型、YUV模型、YIQ模型、YcbCr模型、HSI模型等。本設(shè)計(jì)主要使
2、用MATLAB編程的方法,實(shí)現(xiàn)RGB與其余四種模型之間的互化。即使用不同的色彩模型表示同一圖形或圖像。通過轉(zhuǎn)換實(shí)現(xiàn)色彩模型的變換之后,可以讓同一幅圖像以各種模式在全球范圍內(nèi)流通,所以本設(shè)計(jì)具有一定的實(shí)際意義。一般的圖像原始都為RGB—加色混合色彩模型,它與剩下的幾個(gè)色彩模型之間存在著函數(shù)對應(yīng)關(guān)系,通過矩陣運(yùn)算改變模型的參數(shù)就可以實(shí)現(xiàn)不同色彩模型之間的相互轉(zhuǎn)換。例如CMY—減色混合色彩模型,就是利用青色、深紅色、黃色這三種彩色按照一定比例來產(chǎn)生想要的彩色,CMY是RGB三基色的補(bǔ)色,它與RGB存在如下關(guān)系:=-,使用MATLAB編程時(shí),讀入三個(gè)通道的數(shù)值,按照對應(yīng)關(guān)系進(jìn)行矩陣變換就可以轉(zhuǎn)換成
3、CMY色彩模型。其他色彩模型轉(zhuǎn)換原理與此相似。關(guān)鍵詞:MATLAB,RGB、YUV、YIQ、YCbCr、HSI、色彩模型一、設(shè)計(jì)任務(wù)、目的和要求任務(wù):實(shí)現(xiàn)RGB模型、CMY模型、YUV模型、YIQ模型、YcbCr模型、HSI模型這幾種不同色彩模型之間的相互轉(zhuǎn)換要求:最終結(jié)果用圖像顯示二、總體方案設(shè)計(jì)系統(tǒng)運(yùn)行環(huán)境:WINDOWS7操作系統(tǒng)編程軟件平臺:MATLAB2012b編碼算法原理:將原圖的三基色數(shù)值讀入,根據(jù)不同色彩模型之間的相互關(guān)系,通過矩陣運(yùn)算改變不同的亮度和色度等信息來實(shí)現(xiàn)色彩模型的轉(zhuǎn)換,然后將變換后的圖像導(dǎo)出流程圖:開始獲取R、G、B三通道分量進(jìn)行矩陣變換得到圖形進(jìn)行反變換得到
4、反變換圖形將所得圖形與原始圖形比較結(jié)束三、設(shè)計(jì)實(shí)現(xiàn)1、RGB模型和CMY模型的互化變換公式:=-clc;clear;close;X=imread('1.jpg');%讀取原始圖形Image=im2double(X);%歸一化處理subplot(131),imshow(Image),title('原圖');%讀取圖像的RGB分量r=Image(:,:,1);g=Image(:,:,2);b=Image(:,:,3);%進(jìn)行RGB到CMY的變換C=1-r;M=1-g;Y=1-b;CMY=cat(3,C,M,Y);subplot(132),imshow(CMY),title('RGB轉(zhuǎn)CMY')
5、;%進(jìn)行CMY到RGB的反變換r1=1-C;g1=1-M;b1=1-Y;rgb1=cat(3,r1,g1,b1);subplot(133),imshow(rgb1),title('CMY轉(zhuǎn)RGB');%數(shù)值分析反變換后和原圖的差別x=rgb1-Image;disp(x);2、RGB模型和YUV色彩模型的互化變換公式:0.2990.5870.114=?0.147?0.2890.4360.615?0.515?0.100clearall;closeall;clc;%清除內(nèi)存空間信息,以便程序運(yùn)行img=imread('1.jpg');%讀取原始圖形img=im2double(img);%將圖像映
6、射到[0,1]區(qū)間;[m,n,dim]=size(img);%獲得原圖像長、寬、維數(shù)的數(shù)據(jù)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.2990.5870.114;-0.147-0.2980.436;0.615-0.515-0.100];%用for循環(huán)實(shí)現(xiàn)圖像中每一個(gè)點(diǎn)的矩陣變換,即實(shí)現(xiàn)模型變換fori=1:mforj=1:
7、ntmp=matrix*[R(i,j)G(i,j)B(i,j)]';Y(i,j)=tmp(1);U(i,j)=tmp(2);V(i,j)=tmp(3);endend%使Y、U、V分量全部在[0,255]區(qū)間內(nèi)Y(Y>255)=255;Y(Y<0)=0;UU>255)=255;U(U<0)=0;V(V>255)=255;V(V<0)=0;YUV=cat(3,Y,U,V);subplot(132),imshow(YUV),t