直方图显示图像数据时会以左暗又亮的分布曲线形式呈现出来,而不是显示原图像数据,并且可以通过算法来对图像进行按比例缩小,且具有图像平移、旋转、缩放不变性等众多优点。直方图在进行图像计算处理时代价较小,所以经常用于图像处理!
为什么说直方图计算代价较小?例如一个1024x1024的图像,当转换成直方图时会进行其分组,列如分为255组,那么这1024x124个像素会被叠加分到这255组中去,即处理起虽然值变大了,但是像素点变少了,不需要去拆分rgb(hsv除外)三色,不需要单步计算等额外的工作,只需要通过特定的算法对这255组进行计算即可,所以说代价是较小的!
列如如下是一张图像黑点代表像素点!
可以看到很多的像素点,如果计算起来的话要一个一个的处理!
如果将其转换成直方图的话,也就是将许多像素点叠加到一个像素点中:
注意像素点会变大,如果要根据像素点信息画直方图要按你分组的比率来缩小它。
计算时要经过特定的算法来计算,速度只能说较小,因为仅仅是引入了算法而已!
列如要让RGB三色平均化,R=255,G=243,B=210;要让他们平均到125的话要削弱它们的值,如果一个一个处理的话明显是没有将alu运算单元发挥到极致,如果将RGB三个值加在一起然后在经过特定算法来算出平均值在拆分开这样同时计算速度明显要比单个快。
如何读懂直方图?
直方图的显示方式是左暗又亮,左边用于描述图像的暗度,右边用于描述图像的亮度
左图比较明暗,而右图则非常亮!
转自:https://blog.csdn.net/bjbz_cxy/article/details/79700228
原文:https://www.cnblogs.com/janmng/p/14099038.html