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、810、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中

 

 

 

 

 

 

posted @   天子骄龙  阅读(791)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-02-08 QMessageBox消息框
2019-02-08 单行纯文本框QLineEdit
2019-02-08 pyqt5-布局控件
2019-02-08 pyqt5 鼠标操作
点击右上角即可分享
微信分享提示

目录导航