Right shift of all pixels of the image.
The operator ::bit_rshift calculates a ``right shift'' of all pixels of the input image bit by bit. The semantics of the ``right shift'' 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.
|
Image (input_object) |
(multichannel-)image(-array) -> Hobject: HImage(Array) ( byte / int1 / int2 / int4 ) |
| Input image(s). | |
|
ImageRShift (output_object) |
(multichannel-)image(-array) -> Hobject * : HImage(Array) ( byte / int1 / int2 / int4 ) |
| Result image(s) by shift operation. | |
|
Shift (input_control) |
integer -> HTuple.long |
| shift value | |
| Default value: 3 | |
| Suggested values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 31 | |
| Typical range of values: 0 <= Shift <= 31 | |
| Minimum increment: 1 | |
|
Recommended increment: 1 | |
| Restriction: (Shift >= 1) && (Shift <= 31) | |
bit_rshift(Int2Image,&ReducedInt2Image,8); convert_image_type(ReducedInt2Image,&ByteImage,"byte");
If the images are correct (type) and Shift has a valid value the operator ::bit_rshift 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.
Image filters