zoukankan      html  css  js  c++  java
  • HDevelop Guide

    read_image()读取图片时,从当前目录以及HALCON的image目录(通过环境变量指定)下查找。

    程序窗口双击某个算子--》建议菜单--》后继函数,同时状态栏显示光标指向的算子的功能描述。

    变量窗口--》选择控制变量(可按Ctrl多选)--》监视

     HDevelop Procedures

    Procedures are meant to increase the readability and modularity of HDevelop programs by encapsulating functionality of multiple operator calls in one
    or more procedure calls. It also makes it easier to reuse program code in other HDevelop programs by storing repeatedly used functionality in external procedures. Main procedure is always the top-most procedure in the calling hierarchy and cannot be deleted from the system.

    文件格式

    .hdev  HDevelop程序,例如主程序、局部程序

    .hdvp  外部程序

    .hdpl  程序库

    Procedure Locations

    • Import Location in the program code

    import C:/Users/Public/procedures/common

    • Static user-defined locations

    • 标准库路径

    标准库路径为 %HALCONROOT%procedures

    程序窗口注释:单行注释使用*,代码行后跟注释使用//

    续行符

     Variable Scope

    HDevelop supports local and global variable,all variables are local by default,they exist only within their procedure.Global variable can be accessed in the entire program,and must declared explicitly using the operator global.

    global tuple File //声明一个名为File的全局控制变量

    global object Image //声明一个名为Image的全局图像变量

    If you want to access a global variable in a different procedure,you have to announce this by using the same call (global object Image ).

     

     vector

    A vector is  a container thant can hold an arbitrary number of elements,all of which must have the same variable type(i.e. tuple,iconic object,or vector).

    a:={[1],[2],[3]}

    for i:=1 to 5 by 1
        vec.at(i):=gen_tuple_const(i,5)
    endfor

    convert_vector_to_tuple()  vector转换为tuple

    convert_tuple_to_vector_1d()  tuple转换为vector

    Error handing

    There are two approaches to error handing in HDevelop:

    1.track the return value(error code) of operator calls

    dev_set_check() 指定程序出错时是否弹出错误对话框,dev_error_var()获取最近一次算子调用返回的错误码。get_error_text()获取错误码对应的错误描述。

    2.using exception handing

    Parallel Execution

    Using the operator par_join() to wait for the completion of a single thread or a group of threads.

    Image Acquisition

    open_framegrabber()  //connect image acquisition devices

    set_framegrabber_param()  //set special parameters

    get_framegrabber_param()  //query current values of the common and special parameters

    grab_image()  //request the acquisition of a new image and then block the program until the acquisition has finished.

    grab_image_async()  //images are acquired and processed in paralled,leads to a significant speedup of the applications.

    close_framegrabber()  //close image acquisition devices and release resources.

     

  • 相关阅读:
    大伯的八十岁寿辰
    收到 wincore.cpp 中一个 " ASSERT " BUG: 当 MFC 应用程序 Visual C++ 中 MFC 规则 DLL 中调用函数声明
    命名空间Microsoft.Office.Interop.Word不存在....
    中国测绘科学研究院招聘WEBGIS开发工程师与客座研究生
    开源GIS学习笔记 sinoly BLOGJAVA
    2007年7月9日星期一
    转载:使用感受: VC2005 VC6.0
    推荐:用ogr和PIL把矢量数据转化成栅格图像
    《赢在中国》感言
    VS2005的断点无效问题
  • 原文地址:https://www.cnblogs.com/larry-xia/p/10087883.html
Copyright © 2011-2022 走看看