zoukankan      html  css  js  c++  java
  • halcon算子翻译——gen_image1_extern

    名称

    gen_image1_extern - 使用带存储管理从像素上的指针创建图像。

    用法

    gen_image1_extern( : Image : Type, Width, Height, PixelPointer, ClearProc : )

    描述

      算子gen_image1_extern创建一个大小为Width*Height的图像。 PixelPointer中的像素按线顺序存储。 给定像素(PixelPointer)的类型必须对应于Type(请参阅gen_image_const以获取更详细的图像类型描述)。 请注意,如何传递一个指针值取决于所使用的算子和编程环境。 确保传递存储图像数据的实际内存地址,而不是指针变量的地址。 必须注意不要在64位体系结构上截断64位指针。

      新图像的内存不是由HALCON新分配的,与gen_image1相反,因此也不被复制。 这意味着PixelPointer指向的内存空间必须通过删除对象Image来释放。 这是由调用者提供的程序ClearProc完成的。 此函数必须具有以下模式: 

      void ClearProc(void* ptr);

      并在删除图像时使用__cdecl调用约定进行调用。 如果内存不被释放(在图像采集卡或静态存储器的情况下),可以传递“无中继”或NULL指针的函数。 类似于参数PixelPointer,指针必须根据所使用的算子用法和编程环境传递给函数。

    注意

    gen_image1_extern不检查Width*Height的图像是否足够的内存分配在PixelPointer中。

    并行

    ●  多线程类型:可重入(与非独占算子并行运行)。
    ●  多线程范围:全局(可以从任何线程调用)。
    ●  不并行化处理。

    参数

    Image (output_object) image → object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)
      创建的Halcon图像。


    Type (input_control) string → (string)
      像素类型。
      Default value: 'byte'
      List of values: 'byte', 'cyclic', 'direction', 'int1', 'int2', 'int4', 'real', 'uint2'


    Width (input_control) extent.x → (integer)
      图像宽度。
      Default value: 512
      Suggested values: 128, 256, 512, 1024
      Typical range of values: 1 ≤ Width ≤ 512 (lin)
      Minimum increment: 1
      Recommended increment: 10
      Restriction: Width >= 1


    Height (input_control) extent.y → (integer)
      图像高度。
      Default value: 512
      Suggested values: 128, 256, 512, 1024
      Typical range of values: 1 ≤ Height ≤ 512 (lin)
      Minimum increment: 1
      Recommended increment: 10
      Restriction: Height >= 1


    PixelPointer (input_control) pointer → (integer)
      指向第一个灰度值的指针。


    ClearProc (input_control) pointer → (integer)
      指向在删除对象时重新释放图像的内存的函数的指针。
      Default value: 0

    Example (C)

    void NewImage(Hobject *new)
    {
      unsigned char  *image;
      int            r,c;
      image = malloc(640*480);
      for (r=0; r<480; r++)
        for (c=0; c<640; c++)
          image[r*640+c] = c % 255;
      gen_image1_extern(new,"byte",640,480,(Hlong)image,(Hlong)free);
    }

    结果

    如果参数值正确,则算子gen_image1_extern返回值2(H_MSG_TRUE)。 否则会引发异常。

    Alternatives

    gen_image1, gen_image_const, get_image_pointer1, gen_image3_extern

    See also

    reduce_domain, paint_gray, paint_region, set_grayval

    模块

    Foundation

  • 相关阅读:
    关于Knowledge Transfer的一点想法
    SAP Change Request Management (ChaRM)基础教程
    SAP CRM Installed Bases(IBase)简介
    ABAP 7.53 中的ABAP SQL(原Open SQL)新特性
    我的BRF+自学教程(三):动态技术
    我的BRF+自学教程(二):跟踪模式(trace mode)
    我的BRF+自学教程(一):公式(formula)
    S/4 HANA中的MATDOC和MATDOC_EXTRACT
    SAP S/4嵌入式分析——虚拟数据模型(VDM)
    ABAP on HANA之CDS Association和Path Expression
  • 原文地址:https://www.cnblogs.com/xhiong/p/gen_image1_extern.html
Copyright © 2011-2022 走看看