0
点赞
收藏
分享

微信扫一扫

halcon-读取AVI视频

耶也夜 2022-02-10 阅读 73


halcon-读取AVI视频_句柄

在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


halcon-读取AVI视频_句柄_02


方法二

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中


举报

相关推荐

0 条评论