您的位置:首页 > 其它

Halcon实现工业图像软件平场的简单算法

2017-04-12 18:42 1871 查看

WHY平场

工业视觉系统经常会遇上这样一个问题:光场中光源不均匀,导致图像在横向坐标上呈现出区域性黑白变化,如下图:



可以明显看出,图像的中间区域出现了比较严重的暗区。

当然这幅图片不是一个完整的光场区域, 只是光场中若干相机中的一个拍摄出的效果。

对于这种情况,一般而言,现有的工业相机一般都提供一个“平场校正”的功能。一般需要采用一张很均匀的无纹理白色材料作为校正模板,对不均匀的光场进行校正。其原理是通过调整相机内部曝光参数来改达到均匀光场的目的。

但是这种方法对于大幅面光场的校正非常困难,通常无法找到大幅面平整的白色无纹理材料。这个时候,需要通过一些软件的方法来进行处理。

平场的简单逻辑就是:黑的地方变白点,白的地方变黑点,拉平。

所以需要计算一下

1. 横向每坐标位置的背景灰度或者说平均灰度

2. 将原图减去这个平均灰度图像

3. 再对得到的图像做一次灰度标准化

以上的逻辑通过下面一个简单的halcon程序即可实现。

open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)
get_image_size (Image, Width, Height)
mean_image (Image, ImageMean, 20, Height)
sub_image (Image, ImageMean, ImageSub, 1, 128)


得到的处理结果如下图所示:



请注意:软件平场可能会使得图像中细节纹理的对比度下降,这是在决定是否采用平场之前必须考虑的问题,因为光学平场和软件平场对于对比度的保留是完全不同的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息