資源簡介
本代碼實現(xiàn)了rgb顏色空間到luv顏色空間的轉(zhuǎn)換

代碼片段和文件信息
%此程序?qū)GB裝換到LUV
%原理是先將圖像由RGB空間變換到CIEXYZ空間,
%再由CIEXYZ空間變換到Luv空間
%作者:Genghis_Yang
%E-mail:?yangcheng2503@163.com
function?[?luv?]?=?rgb2luv(?rgb0?)
[m?n]?=?size(?rgb0?);
rgb?=?double(?rgb0?);
luv?=?rgb;
X0?=?(0.607+0.174+0.201);
Y0?=?(0.299+0.587+0.114);
Z0?=?(??????0.066+1.117);
%?Y0?=?1.0?
u20?=?4*X0/(X0+15*Y0+3*Z0);
v20?=?9*Y0/(X0+15*Y0+3*Z0);
for?i=1:m
????for?j=1:3:n
????????if?(rgb(ij)<=20)
????????????r=8.715e-4*rgb(ij);
????????else
????????????r=power((rgb(ij)+25.245)/280.2452.22);
????????end
????????if?(rgb(ij+1)<=20)
????????????g=8.715e-4*rgb(ij+1);
????????else
????????????g=power((rgb(ij+1)+25.245)/280.2452.22);
????????end
????????if?(rgb(ij+2)<=20)
????????????b=8.715e-4*rgb(ij+2);
????????else
????????????b=power((rgb(ij+2)+25.245)/280.2452.22);
????????end
????????X?=?0.412453*r?+?0.357580*g?+?0.180423*b;
????????Y?=?0.212671*r?+?0.715160*g?+?0.072169*b;
????????Z?=?0.019334*r?+?0.119193*g?+?0.950227*b;
????????if?(X==0.0?&&?Y==0.0?&&?Z==0.0)
????????????x=1.0/3.0;
????????????y=1.0/3.0;
????????else
????????????den=X+Y+Z;
????????????x=X/den;
????????????y=Y/den;
????????end
????????den=-2*x+12*y+3;
????????u2=4*x/den;
????????v2=9*y/den;
????????if?(Y>0.008856)
????????????luv(ij)=(116*power(Y1.0/3.0)-16);
????????else
????????????luv(ij)=903.3*Y;
????????end
????????luv(ij+1)=13*luv(ij)*(u2-u20);
????????luv(ij+2)=13*luv(ij)*(v2-v20);
????end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1456??2009-05-15?00:42??rgb2luv.m
-----------?---------??----------?-----??----
?????????????????1456????????????????????1
- 上一篇:OpenCPN圖文編譯教程
- 下一篇:elsevier三區(qū)投稿模板.doc
評論
共有 條評論