本篇介绍数字图像处理中的图像直方图,读完本文,您将达到仅仅使用C语言来绘制一张图像的灰度直方图和彩色直方图,而完全不用依赖任何第三方库。
[定义与算法]
[直方图定义]
直方图包括灰度直方图和彩色直方图两类,如果把灰度直方图看作是灰度通道的直方图,那么,彩色直方图可以看作是R/G/B三通道的独立直方图。
灰度直方图描述的是图像中该灰度级对应的像素个数,也就是像素的统计信息。所谓的灰度级,就是像素的取值范围,通常为0-255,共256个值,因此对应256个灰度级。
我们如何绘制直方图呢?如果我们以横坐标表示灰度级,纵坐标表示该灰度级像素的个数,以下图Fig.1所示测试图为例来做说明。
Fig.1 直方图示意图
图中左边Test为一张宽高4×4大小的灰度图,不过我们使用了彩色来区分不同的灰度值。我们以横坐标表示灰度级,纵坐标表示像素个数,用对应颜色来区分不同灰度级,在Test中,我们统计不同灰度级对应的像素个数,如下所示:
灰度级为2的像素有3个;
灰度级为3的像素有1个;
灰度级为4的像素有1个;
灰度级为5的像素有4个;
转载:https://blog.csdn.net/Trent1985/article/details/103773062
查看评论