source: proiecte/pmake3d/make3d_original/Make3dSingleImageStanford_version0.1/third_party/vlutil/test/test_colorimetry.m @ 37

Last change on this file since 37 was 37, checked in by (none), 14 years ago

Added original make3d

File size: 2.6 KB
Line 
1function test_colorimetry
2% TEST_COLORIMETRY  Test color space conversion functons
3
4[a,b]= meshgrid(0:.01:1,0:.01:1) ;
5c = ones(size(a)) ;
6d = zeros(size(a)) ;
7
8% 2-D charts
9figure(1) ; set(gcf,'Renderer','OpenGL') ; clf ; test('CIE') ;
10figure(2) ; set(gcf,'Renderer','OpenGL') ; clf ; test('Adobe') ;
11
12% 3-D charts
13figure(3) ; clf ; test3('CIE') ;
14
15% --------------------------------------------------------------------
16function test(ws)
17% --------------------------------------------------------------------
18% xy + Luv + Lab diagrams
19[a,b]= meshgrid(0:.01:1,0:.01:1) ;
20c = ones(size(a)) ;
21d = zeros(size(a)) ;
22
23draw(a,b,c,ws) ;
24draw(c,a,b,ws) ;
25draw(b,c,a,ws) ;
26
27% --------------------------------------------------------------------
28function test3(ws)
29% --------------------------------------------------------------------
30% 3-D Lab diagram
31
32[a,b]= meshgrid(0:.01:1,0:.01:1) ;
33c = ones(size(a)) ;
34d = zeros(size(a)) ;
35
36draw3(a,b,c,ws) ;
37draw3(c,a,b,ws) ;
38draw3(b,c,a,ws) ;
39draw3(a,b,d,ws) ;
40draw3(d,a,b,ws) ;
41draw3(b,d,a,ws) ;
42set(gca,'Box','on') ;
43
44function draw(r,g,b,ws) ;
45
46I = cat(3,r,g,b) ;
47J = rgb2xyz(I,ws)  ;
48
49X = J(:,:,1) ;
50Y = J(:,:,2) ;
51Z = J(:,:,3) ;
52
53x = X./(X+Y+Z) ;
54y = Y./(X+Y+Z) ;
55
56J = xyz2luv( cat(3,X,Y,Z)  ) ;
57u = J(:,:,2) ;
58v = J(:,:,3) ;
59
60J = xyz2lab( cat(3,X,Y,Z)  ) ;
61L = J(:,:,1) ;
62a = J(:,:,2) ;
63b = J(:,:,3) ;
64
65xc = mean(x(:)) ;
66yc = mean(y(:)) ;
67
68uc = mean(u(:)) ;
69vc = mean(v(:)) ;
70
71ac = mean(a(:)) ;
72bc = mean(b(:)) ;
73
74tightsubplot(4,1,'Box','outer') ; hold on ;title([ws ' RGB gamut in xyY']) ;
75z0 = zeros(size(X)) ;
76h=mesh(x,y,z0) ;
77set(h, 'CData', I, 'FaceColor', 'texturemap') ;
78campos([xc,yc,1]) ;
79camtarget([xc,yc,0]) ;
80axis square ;
81xlabel('y') ;
82ylabel('b') ;
83
84tightsubplot(4,2,'Box','outer') ; hold on ; title([ws ' RGB gamut in Luv']) ;
85h=mesh(u,v,z0) ;
86set(h, 'CData', I, 'FaceColor', 'texturemap') ;
87campos([uc,vc,1]) ;
88camtarget([uc,vc,0]) ;
89axis square ;
90xlabel('u') ;
91ylabel('v') ;
92
93tightsubplot(4,3,'Box','outer') ; hold on ; title([ws ' RGB gamut in Lab']) ;
94h=mesh(a,b,z0) ;
95set(h, 'CData', I, 'FaceColor', 'texturemap') ;
96campos([ac,bc,1]) ;
97camtarget([ac,bc,0]) ;
98axis square ;
99xlabel('a') ;
100ylabel('b') ;
101
102% --------------------------------------------------------------------
103function draw3(r,g,b,ws)
104% --------------------------------------------------------------------
105
106I = cat(3,r,g,b) ;
107J = rgb2xyz(I,ws)  ;
108
109X = J(:,:,1) ;
110Y = J(:,:,2) ;
111Z = J(:,:,3) ;
112
113J = xyz2lab( cat(3,X,Y,Z)  ) ;
114L = J(:,:,1) ;
115a = J(:,:,2) ;
116b = J(:,:,3) ;
117
118hold on ;
119title([ws ' RGB gamut in Lab space']) ;
120h=mesh(a,b,L) ;
121set(h, 'CData', I, 'FaceColor', 'texturemap') ;
122xlabel('a') ;
123ylabel('b') ;
124zlabel('L') ;
125axis square ;
126grid on ;
Note: See TracBrowser for help on using the repository browser.