我们可以将数字图像理解成一定尺寸的矩阵,矩阵中每个元素值的大小表示了图像中每个像素的亮暗程度,根据不同的位深度,像素的元素值大小也被划分为不同的等级。统计矩阵中的最大值,就是寻找图像中灰度值最大的像素,统计矩阵中的最小值,就是寻找图像中灰度值最小的像素,计算平均值就是计算图像像素平均灰度,可以用来表示图像整体的亮暗程度。因此针对矩阵数据的统计工作在图像像素中同样具有一定的意义和作用。
Halcon算子min_max_gray先统计区域内图像的灰度直方图,即在0-255灰度值范围内图像像素个数的分布频率图。区域面积乘以***percent***得到一个数,设为 a,然后用 a分别从0灰度值和255灰度值处向里截取a。然后在剩下的像素点中取最小最大灰度值。
min_max_gray(Regions, Image : :5 : Min, Max, Range)
就是从图像image中,取区域Regions(可能有多个),然后得到区域直方图,每个直方图都掐头去首尾5%后,将剩下的直方图Min=最小值、Max=最大值、范围Range(=Max-Min)返回。
灰度值线性缩放:
scale_image:用一元一次方式的方式进行灰度值缩放
案例:scale_image (Image1, ImageScaled1, 1.5, 10)
scale_image_max:将当前灰度值范围变换到0——255范围之间。
案例:scale_image_max (Image1, ImageScaleMax)
invert_image:将像素值翻转,计算后的像素值=255-当前像素值。
案例:invert_image (Image1, ImageInvert)
灰度值的非线性变换:
log_image:用于提高暗部像素值
案例:log_image (Image1, LogImage, 'e')
exp_image:用于提高亮部像素值
案例:exp_image (Image1, ExpImage, 'e')
图像增强对比度和亮度
Emphasize:增强图像对比度
案例:emphasize (Image1, ImageEmphasize, 7, 7, 5)
Illuminate:增强图像照明度
案例:illuminate (Image1, ImageIlluminate, 101, 101, 0.7)
直方图均衡化
equ_histo_image:通过灰度直方图的线性化,增强图像的对比。
案例:equ_histo_image (Image1, ImageEquHisto)