这个例子展示了如何调整二元直方图的颜色比例,以显示关于箱子的额外细节。
加载图片peppers.png
这是一张几种辣椒和其他蔬菜的彩色照片。无符号8位整数数组rgb
包含图像数据。
rgb = imread (“peppers.png”);imshow (rgb)
绘制每个像素的红色和绿色RGB值的二元直方图,以可视化颜色分布。
r = rgb (:,: 1);g = rgb (:,:, 2);b = rgb (:,:, 3);histogram2 (r, g,“DisplayStyle”,“瓦”,“ShowEmptyBins”,“上”,...“XBinLimits”255年[0],“YBinLimits”255年[0]);轴平等的colorbar包含(“红色值”) ylabel (“绿色价值观”)标题(“绿色与红色像素组件”)
直方图的权重很大,偏向于颜色比例的底部,因为有几个箱子的计数非常大。这导致大多数箱子显示为色图中的第一种颜色,蓝色。如果没有额外的细节,很难得出任何关于哪种颜色更占优势的结论。
若要查看更多详细信息,请通过设置缩放直方图颜色比例这一
属性,使坐标轴的范围在0到500之间。其结果是,计数为500或500以上的直方图bin显示为colormap中的最后一种颜色,黄色。因为大多数箱子计数都在这个小范围内,所以在显示的箱子颜色上有更大的变化。
甘氨胆酸ax =;斧子。CLim = [0 500];
用类似的方法来比较红与蓝、绿与蓝的优势度。
histogram2 (r、b“DisplayStyle”,“瓦”,“ShowEmptyBins”,“上”,...“XBinLimits”255年[0],“YBinLimits”255年[0]);轴平等的colorbar包含(“红色值”) ylabel (“蓝”)标题(“蓝色与红色像素组件”) ax = gca;斧子。CLim = [0 500];
histogram2 (g b“DisplayStyle”,“瓦”,“ShowEmptyBins”,“上”,...“XBinLimits”255年[0],“YBinLimits”255年[0]);轴平等的colorbar包含(“绿色价值观”) ylabel (“蓝”)标题(“绿色与蓝色像素组件”) ax = gca;斧子。CLim = [0 500];
在每种情况下,蓝色是最不占主导地位的颜色信号。看看这三个直方图,红色似乎是主色。
通过在RGB颜色空间中创建颜色直方图来确认结果。所有三种颜色组件在较小的RGB值时都有峰值。然而,超过100的值在红色组件中出现的频率比其他任何组件都高。
直方图(r,“BinMethod”,“整数”,“FaceColor”,“r”,“EdgeAlpha”0,“FaceAlpha”, 1)在直方图(g,“BinMethod”,“整数”,“FaceColor”,‘g’,“EdgeAlpha”0,“FaceAlpha”, 0.7)直方图(b,“BinMethod”,“整数”,“FaceColor”,“b”,“EdgeAlpha”0,“FaceAlpha”(0.7)包含“RGB值”) ylabel (“频率”)标题(RGB颜色空间的颜色直方图257) xlim ([0])