open_framegrabber ('GigEVision', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] HD Webcam', 0, -1, AcqHandle)//打开相机
set_framegrabber_param (AcqHandle, 'TriggerMode', 'On')//设置是否使用触发,第3个参数为On则启用触发,为Off则不启用
set_framegrabber_param (AcqHandle, 'TriggerSource', 'Software')//设置触发模式(软/硬触发,Software为软触发,硬触发的字符串不是Hardware,要根据相机的实际接线确定,比如Line1/Line2...),如果上一行代码设置触发模式为off,则不需要此行代码
grab_image_start (AcqHandle, -1)//开始采集
while (true)
set_framegrabber_param (AcqHandle, 'TriggerSoftware', '1')//软触发命令,只有TriggerMode为On且TriggerSource为Software时才需要此行代码(TriggerMode为Off时不需要触发信号,硬触发时相机的触发信号由相机外部接线脉冲控制)
grab_image_async (Image, AcqHandle, -1)//获取图像,如果TriggerMode为On,但是没有对应的触发信号,那这一行会一直阻塞直到超时
endwhile
close_framegrabber (AcqHandle)
//*开启触发模式 软触发
//set_framegrabber_param(AcqHandle, 'TriggerMode', 'On')
//* 设置触发方式:软触发触发源,Line1、Software等,即软件触发或者硬件信号触发
//set_framegrabber_param(AcqHandle, 'TriggerSource', 'Software')
//*开启触发模式 硬触发
//set_framegrabber_param(AcqHandle, 'TriggerMode', 'On')
//* 设置触发方式为Line1
//set_framegrabber_param(AcqHandle, 'TriggerSource', 'Line0')
光源控制器RS232通讯
1、图像采集
主要是考虑光源、相机、镜头的选择,目的是使图像清晰可见。
光源根据打光位置的不同分为背光和底光;根据可见性分为可见光源和不可见光源。
2、图像预处理
预处理主要是从两方面进行:提高对比度、去噪。
提高对比度的算子:scale_image、emphasize、gray_range_rectangle(模板矩阵对应的最大值最小值的差替代中心点像素值)、equ_histo_image等。
去噪的算子:均值滤波mean_image、中值滤波median_image、高斯滤波gauss_image、频域滤波。
3、图像分割
图像分割就是要提取出感兴趣区域。
分割的算子:threshold、binary_threshold、dyn_threshold、var_threshold等等。
4、特征识别
提取出图像或区域的特征,作为判断的依据。
特征包括:面积、宽度、高度、矩形度、圆度等等。
5、显示
显示出图像处理后的结果。