我正在尝试绘制图像中不同颜色像素的频率。我可以在三个单独的数字上绘制三个单独的直方图,但我想将它们全部绘制在同一个数字上,红色代表红色,绿色代表绿色等。从我在这个和其他网站上的答案中可以看出,以下应该工作,但它没有,只有第二个出现。我究竟做错了什么?
hold on;
x = 0:1:255;
figure ('name', 'red') ;
red = (newImg(:,:,1));
r = red(:)';
r = cast(r,'double');
[graph1,graph2] = hist (r,x);
bar(graph2,graph1, 'FaceColor', 'r','EdgeColor','r')
alpha(0.3);
green = (newImg(:,:,2));
g = green(:)';
g = cast(g,'double');
[graph1,graph2] = hist (g,x);
bar(graph2,graph1, 'FaceColor', 'b','EdgeColor','b')
hold off;