matlab中图像的二维直方图

时间:2013-11-17 12:47:10

标签: image matlab image-processing histogram

我有一张图片。我正在计算我,你,v组件。

I = (R+G+B)/3

u = R-G

v= G-B;

现在,我想找到二维直方图 在色彩信息(u; v)上。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用sparse创建一个稀疏的二维矩阵,用于计算u - v条目。
请注意,您必须将u - v维度中的索引调整到范围1...|u|1...|v|(而不是负数或小数)。

[uu ui] = unique( round(u(:)) ); % adjust u index using unique command
[vv vi] = unique( round(v(:)) );
twoDhist = sparse( ui, vi, 1, numel(uu), numel(vv) );
twoDhist = spfun( @(x) x/numel(ui), twoDhist ); % normalize hist to sum to 1

figure;
imagesc( vv, uu, twoDhist ); colormap jet; colorbar; axis image