matlab颜色直方图问题
得到颜色直方图代码如下
I=imread('1000.jpeg'); % 文件名自己改
siz=size(I);
I1=reshape(I,siz(1)*siz(2),siz(3)); % 每个颜色通道变为一列
I1=double(I1);
[N,X]=hist(I1, [0:31:255]); % 如果需要小矩形宽一点,划分区域少点,可以把步长改大,比如0:5:255
bar(X,N(:,[3 2 1])); % 柱形图,用N(:,[3 2 1])是因为默认绘图的时候采用的颜色顺序为b,g,r,c,m,y,k,跟图片的rgb顺序正好相反,所以把图片列的顺序倒过来,让图片颜色通道跟绘制时的颜色一致
xlim([0 255])
hold on
%plot(X,N(:,[3 2 1])); % 上边界轮廓
hold off
我已经得到了RGB图像的直方图,怎么获取直方图里每个区间每种颜色的的数据的比例呢?
X轴总数为256,我把它分成了8个区间,每个区间32个
那么
怎么知道0-31中R、G、B分别占据的比例,31-62有多少等等,求高人指点
[解决办法]
[N,X]里面有