bit_slice ( Image : ImageSlice : Bit : )

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)
image(-array) -> object : byte / int1 / int2 / int4
Input image

ImageSlice (output_object)
image(-array) -> object : byte / int1 / int2 / int4
Result of extraction

Bit (input_control)
integer -> integer
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
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);
  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 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 is raised.


Possible Successors

threshold__, bit_or


Alternatives

bit_mask


See also

bit_and, bit_lshift



Copyright © 1996-1997 MVTec Software GmbH