在matlab中转换颜色空间

时间:2016-01-19 07:23:12

标签: matlab

变换后的色彩空间(R',G',B')定义如下:

R' = R-mean(R)/sd(R),    
G' = R-mean(G)/sd(G),    
B' = R-mean(B)/sd(B),

其中meansd(standard deviation)颜色通道C在整个图像上计算,其中C属于(R,G,B)。

我必须应用变换的颜色空间来找到与这对采样点之间的关系。

假设P(i)Cm是颜色通道cm的值,它属于采样点cm的(R',G',B'),P(j)Cn是颜色通道{{1}的值。 }属于cncn

的采样点p(i)=(xi,yi)的(R',G',B')
p(j)=(xj,yj)

if P(i)Cm < P(j)Cn then 1 else 0 cm可以是cn

1 个答案:

答案 0 :(得分:0)

要进行转换,您可以:

rgb_img = double(rgb_img); %// convert to double
mu = mean( reshape(rgb_img,[],3), 1 ); %// get mean of each channel
sd = std( reshape(rgb_img,[],3), 0, 1); %// get std of each channel
img_transformed = bsxfun( @rdivide, ...
       bsxfun( @minus, rgb_img, permute(mu,[1 3 2]) ),
       permute(sd, [1 3 2]) );

转换图像后,您可以访问像素值

img_transformed( yi, xi, ci )

地理位置ci

中频道(xi, yi)的转化价值