点击“助手”下的“打开新的Image Acquisiton”,弹出对应窗口后点击“连接”,“设备”选择【1】然后直接点击“实时”按钮,可以看到摄像头采集到的图像传到图形窗口上。点击“颜色空间”选择“gray”,再点击“实时”按钮图像窗口变为灰色的,这称为灰度图。灰度图的好处就是将图像统一颜色,不受图像环境的影响。点击“参数”按钮,可以看到下面一大串英文,就是对图像曝光、亮度、透明度等设置,这里默认就好。点击“代码生成”下面的插入代码,整个过程就完成了。
需要注意的是图中采集模式分为异步与同步采集,两者不同之处就是同步采集要等待上一次采集完才能继续执行采集程序,异步则不需要等待。因此异步的采集效率比同步的高。插入代码后如下图
分析代码:
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'gray', -1, 'false', 'default', '[1] ', 0, -1, AcqHandle)
打开相机。其中default为相机类型;gray为颜色空间;【1】为设备号;AcqHandle为相机句柄
grab_image_start (AcqHandle, -1)
启动异步捕获
grab_image_async (Image, AcqHandle, -1)
异步抓取图像
dev_display (Image)
显示图像。在后面经常使用该算子。
close_framegrabber (AcqHandle)
关闭相机。
总结:这里的相机句柄AcqHandle是关键,由句柄可以关联到相机,进而实现图像采集。