min_max_gray(Regions, Image : : Percent : Min, Max, Range)
计算给定区域内灰度值的最大值、最小值与范围。
该操作通过以下步骤进行计算:
- 计算给定区域内的图像的【绝对值直方图】
- 计算【Percent】* 【输入图像的像素总数】= Num
- 从直方图的两侧个移除Num个像素
- 两个的位置就是最大值与最小值
例如:
Area = 60, percent = 5, i.e. 3 pixels = 60 * 0.05
Histogram = [2,8,0,7,13,0,0,...,0,10,10,5,3,1,1]
=> Maximum = 255, Minimum = 0, Range = 255
从左侧移除三个像素:像素值为0的个数为2,像素值为1的个数为8,则第三个像素落在像素值为1的位置上
同理,从右侧移除三个像素:像素值为255的个数为1,像素值为254的个数为1,像素值为253的个数为3,则第三个 像素落在像素值为253的位置上。
min_max_gray returns: Maximum = 253, Minimum = 1, Range = 252
附录:绝对直方图与相对直方图
绝对直方图与相对直方图都包含256个值,从0-255.
绝对直方图:计算0-255中的每个灰度值在整个图像中的数量
相对直方图:计算0-255中的每个灰度值的数量占整个图像中像素总数的百分比。
将绝对直方图中的每个像素的数量除以像素总数就能够得到相对直方图