gen_image1gen_image1GenImage1GenImage1 (Operator)

Name

gen_image1gen_image1GenImage1GenImage1 — Create an image from a pointer to the pixels.

Signature

gen_image1( : Image : Type, Width, Height, PixelPointer : )

Herror gen_image1(Hobject* Image, const char* Type, const Hlong Width, const Hlong Height, const Hlong PixelPointer)

Herror T_gen_image1(Hobject* Image, const Htuple Type, const Htuple Width, const Htuple Height, const Htuple PixelPointer)

void GenImage1(HObject* Image, const HTuple& Type, const HTuple& Width, const HTuple& Height, const HTuple& PixelPointer)

void HImage::HImage(const HString& Type, Hlong Width, Hlong Height, void* PixelPointer)

void HImage::HImage(const char* Type, Hlong Width, Hlong Height, void* PixelPointer)

void HImage::HImage(const wchar_t* Type, Hlong Width, Hlong Height, void* PixelPointer)   (Windows only)

void HImage::GenImage1(const HString& Type, Hlong Width, Hlong Height, void* PixelPointer)

void HImage::GenImage1(const char* Type, Hlong Width, Hlong Height, void* PixelPointer)

void HImage::GenImage1(const wchar_t* Type, Hlong Width, Hlong Height, void* PixelPointer)   (Windows only)

static void HOperatorSet.GenImage1(out HObject image, HTuple type, HTuple width, HTuple height, HTuple pixelPointer)

public HImage(string type, int width, int height, IntPtr pixelPointer)

void HImage.GenImage1(string type, int width, int height, IntPtr pixelPointer)

Description

The operator gen_image1gen_image1GenImage1GenImage1GenImage1 creates an image of the size WidthWidthWidthWidthwidth * HeightHeightHeightHeightheight. The pixels in PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer are stored line-sequentially. The type of the given pixels (PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer) must correspond to TypeTypeTypeTypetype (see gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst for a more detailed description of the pixel types). The storage for the new image is newly created by HALCON. Thus, the storage on the PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer can be released after the call. Note that how to pass a pointer value depends on the used operator signature and programming environment. Make sure to pass the actual memory address where the image data is stored, not the address of a pointer variable. Care must be taken not to truncate 64-bit pointers on 64-bit architectures.

Attention

gen_image1gen_image1GenImage1GenImage1GenImage1 does not check whether the PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer is valid or not. Thus, it must be ensured by the user that it is valid. Otherwise, the program may crash!

Execution Information

Parameters

ImageImageImageImageimage (output_object)  image objectHImageHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Created image with new image matrix.

TypeTypeTypeTypetype (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Pixel type.

Default value: 'byte' "byte" "byte" "byte" "byte"

List of values: 'byte'"byte""byte""byte""byte", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction", 'int1'"int1""int1""int1""int1", 'int2'"int2""int2""int2""int2", 'int4'"int4""int4""int4""int4", 'real'"real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2"

WidthWidthWidthWidthwidth (input_control)  extent.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of image.

Default value: 512

Suggested values: 128, 256, 512, 1024

Typical range of values: 1 ≤ Width Width Width Width width ≤ 512 (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: Width >= 1

HeightHeightHeightHeightheight (input_control)  extent.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of image.

Default value: 512

Suggested values: 128, 256, 512, 1024

Typical range of values: 1 ≤ Height Height Height Height height ≤ 512 (lin)

Minimum increment: 1

Recommended increment: 10

Restriction: Height >= 1

PixelPointerPixelPointerPixelPointerPixelPointerpixelPointer (input_control)  pointer HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Pointer to first gray value.

Example (C)

void NewImage(Hobject *new)
{
  unsigned char  image[768*525];
  int            r,c;
  for (r=0; r<525; r++)
    for (c=0; c<768; c++)
      image[r*768+c] = c % 255;
  gen_image1(new,"byte",768,525,(Hlong)image);
}

Result

If the parameter values are correct, the operator gen_image1gen_image1GenImage1GenImage1GenImage1 returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Possible Predecessors

gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1

Alternatives

gen_image3gen_image3GenImage3GenImage3GenImage3, gen_image1_externgen_image1_externGenImage1ExternGenImage1ExternGenImage1Extern, gen_image_constgen_image_constGenImageConstGenImageConstGenImageConst, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1

See also

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, paint_graypaint_grayPaintGrayPaintGrayPaintGray, paint_regionpaint_regionPaintRegionPaintRegionPaintRegion, set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval

Module

Foundation