Herror ::bit_slice (
    Hobject Image,
    Hobject *ImageSlice,
    const HTuple &Bit
)
HImage HImage::BitSlice (
    const HTuple &Bit
) const
HImageArray HImageArray::BitSlice (
    const HTuple &Bit
) const

Extract a bit from the pixels.

The operator ::bit_slice extracts a bit level from the input image. The semantics of the ``and'' operation corresponds to that of C for the respective types (signed char, unsigned char, short, int/long). Only the pixels within the definition range of the image are processed.

Several images can be processed in one call. An output image is generated for every input image.


Parameters

Image (input_object)
(multichannel-)image(-array) -> Hobject: HImage(Array) ( byte / int1 / int2 / int4 )
Input image(s).

ImageSlice (output_object)
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( byte / int1 / int2 / int4 )
Result image(s) by extraction.

Bit (input_control)
integer -> HTuple.long
Bit to be selected.
Default value: 8
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 32
Typical range of values: 1 <= Bit <= 32
Minimum increment: 1
Recommended increment: 1
Restriction: (Bit >= 1) && (Bit <= 32)


Example
read_image(&ByteImage,"fabrik");
for (bit=1; bit<=8; i++)
{
  bit_slice(ByteImage,&Slice,bit);
  threshold(Slice,&Region,0,255);
  disp_region(Region,WindowHandle);
  clear(bit_slice); clear(Slice); clear(Region);
}

Result

If the images are correct (type) and Bit has a valid value, the operator ::bit_slice returns the value H_MSG_TRUE. The behavior in case of empty input (no input images available) is set via the operator ::set_system('no_object_result',<Result>) If necessary an exception handling is raised.


Possible Successors

::threshold, ::bit_or


Alternatives

::bit_mask


See also

::bit_and, ::bit_lshift


Module

Image filters



Copyright © 1996-2002 MVTec Software GmbH