如何使用二元直方图进行颜色分析

此示例说明如何调整二元直方图的色阶, 以显示与 bin 有关的更多详细信息 。
需要这些哦
matlab
电脑
方式/
1%加载图像 peppers.png, 这张彩色照片显示了几种辣椒和其他一些蔬菜 。 8 位无符号整数数组 rgb 包含图像数据 。
号令行键入:
rgb = imread('peppers.png');

如何使用二元直方图进行颜色分析

文章插图

2号令行键入:
imshow(rgb)
如何使用二元直方图进行颜色分析

文章插图

3为每个像素的红、绿 RGB 值绘制二元直方图, 以可视化形式呈现颜色分布 。
号令行键入:
r = rgb(:,:,1);
如何使用二元直方图进行颜色分析

文章插图

4号令行键入:
g = rgb(:,:,2);
如何使用二元直方图进行颜色分析

文章插图

5号令行键入:
b = rgb(:,:,3);
如何使用二元直方图进行颜色分析

文章插图

6号令行键入:
histogram2(r,g,'DisplayStyle','tile','ShowEmptyBins','on', ...
'XBinLimits',[0 255],'YBinLimits',[0 255]);
如何使用二元直方图进行颜色分析

文章插图

7号令行键入:
axis equal
如何使用二元直方图进行颜色分析

文章插图

8【如何使用二元直方图进行颜色分析】号令行键入:
colorbar
如何使用二元直方图进行颜色分析

文章插图

9号令行键入:
xlabel('Red Values')
如何使用二元直方图进行颜色分析

文章插图

10号令行键入:
ylabel('Green Values')
如何使用二元直方图进行颜色分析

文章插图

11号令行键入:
title('Green vs. Red Pixel Components')
如何使用二元直方图进行颜色分析

文章插图

12此直方图较着趋势于色阶底部, 原因是有些 bin 的计数很大 。 这导致大部门 bin 在颜色图中显示为第一种颜色, 即蓝色 。 若是没有供给更多具体信息, 很可贵出关于哪种颜色更占本家儿导性的结论 。

13要查看更多具体信息, 请经由过程将坐标区的 CLim 属性设置为介于 0 和 500 之间的规模, 从头调整直方图的色阶 。 其成果就是直方图入彀数达到 500 或以上的 bin 在颜色图中显示为最后一种颜色, 即黄色 。 因为大部门 bin 的计数在这个较小规模内, 是以所显示的 bin 的颜色转变较大 。

14号令行键入:
ax = gca;
如何使用二元直方图进行颜色分析

文章插图

15号令行键入:
ax.CLim = [0 500];
如何使用二元直方图进行颜色分析

文章插图

16利用近似的方式可以比力红色与蓝色以及绿色与蓝色的本家儿导性 。
如何使用二元直方图进行颜色分析

文章插图

如何使用二元直方图进行颜色分析

文章插图

17号令行键入:
histogram2(g,b,'DisplayStyle','tile','ShowEmptyBins','on',...
'XBinLimits',[0 255],'YBinLimits',[0 255]);
axis equal
colorbar
xlabel('Green Values')
ylabel('Blue Values')
title('Green vs. Blue Pixel Components')

推荐阅读