
在HDevelop中
方法一
open_framegrabber ('DirectFile', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'default', 'D:/bb/tu/aa.avi', 'default', -1, -1, AcqHandle)
*作用打开AVI视频
*参数1:HALCON图像采集接口名称,即相应DLL
* 'DirectFile' AVI视频文件
*参数9:每像素和图像通道传输的位数(通常为5、8、10、12或16),-1:特定于设备的默认值
*
*参数10:颜色模式
*参数13:文件路径
*参数17:句柄
grab_image_start (AcqHandle, -1)
*从句柄指定视频中开始读取数据
*参数1:句柄
set_framegrabber_param (AcqHandle, 'grab_timeout', 500)
*设置超时时间
*说明:halcon在读取视频时,很容易发生超时错误,所以最好设置一下超时时间
dev_open_window(10,10,500,300,'black',WindowHandle)
while (true)
try
grab_image_async (Image, AcqHandle, -1)
*从指定的图像采集设备异步采集一幅图像
*参数1:保存图像的变量
*参数2:视频句柄
*参数3:异步抓取开始和图像传送之间的最大容许延迟[ms]。
* 默认值: -1.0
* 推荐值: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9
dev_display(Image)
catch(exception)
continue
endtry
endwhile

方法二
open_framegrabber ('DirectFile', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'default', 'D:/bb/tu/aa.avi', 'default', -1, -1, AcqHandle)
get_framegrabber_param (AcqHandle, 'first_frame', Value0)
*获取第一帧序号,保存到参数3
get_framegrabber_param (AcqHandle, 'last_frame', Value1)
*获取最后帧序号,保存到参数3
set_framegrabber_param (AcqHandle, 'grab_timeout', 500)
*设置超时时间:500ms
dev_open_window(10,10,500,300,'black',WindowHandle)
grab_image_start (AcqHandle, -1)
for i:=Value0 to Value1-1 by 1
try
grab_image (Image, AcqHandle)
dev_display (Image)
catch(exception)
continue
endtry
endfor
在QtCreator中