Image 不使用MATLAB内置函数的RGB彩色图像直方图

Image 不使用MATLAB内置函数的RGB彩色图像直方图,image,matlab,histogram,Image,Matlab,Histogram,如果不使用任何内置函数,我想不出一种方法来分别创建每个RGB颜色的直方图。我需要创建一个名为my_hist(image)的函数,该函数输出三个不同的图形,每个图形都有各自的RGB值。任何帮助都将不胜感激 提前谢谢 如果无法使用imhist,请尝试以下操作: Im = imread('autumn.tif'); ImHistogram = zeros(3,256); for jj = 1 : 3 for ii = 0 : 255 ImHistogram(jj,ii+1) =

如果不使用任何内置函数,我想不出一种方法来分别创建每个RGB颜色的直方图。我需要创建一个名为my_hist(image)的函数,该函数输出三个不同的图形,每个图形都有各自的RGB值。任何帮助都将不胜感激


提前谢谢

如果无法使用
imhist
,请尝试以下操作:

Im = imread('autumn.tif');
ImHistogram = zeros(3,256);
for jj = 1 : 3
    for ii = 0 : 255
        ImHistogram(jj,ii+1) = sum(sum(Im(:,:,jj) == ii));
    end
end
每行显示每个RGB的直方图

但是,如果可以使用
imhist
,则可以执行以下操作:

Im = imread('autumn.tif');
ImHistogram = zeros(3,256);
for jj = 1 : 3
    ImHistogram(jj,:) = imhist(Im(:,:,jj));
end

你所说的任何内置函数都是指不能使用imhist、hist、bar或stem?首先要弄清楚如何从矩阵中生成直方图(使用任何允许的函数)。将RGB图像分为三个部分,并在每个部分上运行您的个人
hist
函数应该很简单。我指的是imhist或hist。下面是使用我编写的
accumarray
的另一个解决方案:。如果RGB元组位于特定的颜色范围内,则计算其线性索引,然后使用
accumarray
计算直方图。它将柱状图转换成一维数组,这样你就可以更容易地使用相似性度量。很遗憾,你只得到了1张赞成票+1给我@谢谢你!我认为它没有太多曝光,因为标签是CBIR。还是要感谢你的投票:)切菲·普莱西!我猜你读了我的个人资料就知道我会说法语:)@rayryeng-Oui-en effet!朱莉和弗罗伊德·艾维克·海弗到达了!