用Halcon已经完成采集,在在C#中不行。
其实还是比较简单,主要是Halcon封装的太好了。
主要是以下几个算子:
*打开 Image Acquisition
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] USB2.0 Camera', 0, -1, AcqHandle)
*开始采集
grab_image_start (AcqHandle, -1)
*采集帧控制
Index:=0
for Index := 1 to 5 by 1
*采集一帧
grab_image_async (Image, AcqHandle, -1)
*下面处理得到的Image图片
*得到图片大小
get_image_size (Image, Width, Height)
*设置显示方式
set_display_font (3600, 20, 'mono', 'true', 'false')
*显示数据
disp_message (3600, ['No:'+Index, 'Width:'+Width, 'Height:'+Height], 'window', 12, 12, 'green', 'true')
endfor
*关闭
close_framegrabber (AcqHandle)
*清除图片
dev_clear_window ()
导入C#时,注意要导出外部函数,不然disp_message出错。
最后编译通过运行没反应。
分析:主要是不太了解面对对象编程,编程练习的少。下一步练习C#类的方法,字段。