灰度图的直方图,真的是图像里绕不开的一步。Matlab 实现灰度图 gray 直方图计算.rar这个资源,讲得还挺全面,适合刚上手图像的同学。

imhist这种内置函数来搞定灰度图直方图计算,简单粗暴,效率还不错。但要是你想了解更底层的原理,看看作者是怎么自定义统计每个像素灰度值频次的也蛮有意思。

文件里提到的grayHistogram.m和测试图lena512color.tiff配合起来刚刚好。先用rgb2gray转成灰度图,再跑imhist(img, 256),一套流程下来顺滑。

更细致的做法像是遍历整张图,把每个灰度值出现的次数累加,再用barhistogram画出来。虽然啰嗦点,但对图像理解更深,也方便你自定义 bin 数、加滤波啥的。

如果你打算做图像增强、直方图均衡化,那这份代码刚好能当个起点。还贴心附了 Lena 图做测试,不用另外找图了。

顺手附几个相关文章,像自定义绘图方法直方图均衡化这些,都可以搭着一起研究,提升效率也提升理解。

如果你正在搞灰度图,是对比度、亮度分布这些问题,那这份资源值得下一个看看。