Herror ::gen_image1 (
    Hobject *Image,
    const HTuple &Type,
    const HTuple &Width,
    const HTuple &Height,
    const HTuple &PixelPointer
)
HImage HImage::GenImage1 (
    const HTuple &Type,
    const HTuple &Width,
    const HTuple &Height,
    const HTuple &PixelPointer
)

Create an image from a pointer to the pixels.

The operator ::gen_image1 creates an image of the size Width * Height. The pixels in PixelPointer are stored line-sequentially. The type of the given pixels (PixelPointer) must correspond to Type. The storage for the new image is newly created by HALCON . Thus, the storage on the PixelPointer can be released after the call. Since the type of the parameter PixelPointer is generic (long) a cast has to be used for the call.


Parameters

Image (output_object)
image -> Hobject * : HImage
Created image with new image matrix.

Type (input_control)
string -> HTuple.char *
Pixel type.
Default value: 'byte'
List of values: 'int1', 'int2', 'int4', 'byte', 'real', 'direction', 'cyclic'

Width (input_control)
extent.x -> HTuple.long
Width of image.
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 -> HTuple.long
Height of image.
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)
integer -> HTuple.long
Pointer to first gray value.


Example
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,(long)image);
}

Result

If the parameter values are correct, the operator ::gen_image1 returns the value H_MSG_TRUE. Otherwise an exception handling is raised.


Possible Predecessors

::gen_image_const, ::get_image_pointer1


Alternatives

::gen_image3, ::gen_image_const, ::get_image_pointer1


See also

::reduce_domain, ::paint_gray, ::paint_region, ::set_grayval


Module

Image / region / XLD management



Copyright © 1996-2002 MVTec Software GmbH