bit_slicebit_sliceBitSliceBitSlicebit_slice位分割(算子)

名称

bit_slicebit_sliceBitSliceBitSlicebit_slice — 从像素中提取一个比特。

签名

bit_slice(Image : ImageSlice : Bit : )

Herror bit_slice(const Hobject Image, Hobject* ImageSlice, const Hlong Bit)

Herror T_bit_slice(const Hobject Image, Hobject* ImageSlice, const Htuple Bit)

void BitSlice(const HObject& Image, HObject* ImageSlice, const HTuple& Bit)

HImage HImage::BitSlice(Hlong Bit) const

static void HOperatorSet.BitSlice(HObject image, out HObject imageSlice, HTuple bit)

HImage HImage.BitSlice(int bit)

def bit_slice(image: HObject, bit: int) -> HObject

描述

算子 bit_slicebit_sliceBitSliceBitSliceBitSlicebit_slice 从输入图像中提取位级数据。该“与”运算符的语义对应于 C 语言中相应类型(有符号字符、无符号字符、短整型、无符号短整型、整型/长整型)的“与”运算符。仅处理图像定义范围内的像素。

单次调用可处理多张图像。每张输入图像将生成一张输出图像。

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4)

输入图像。

ImageSliceImageSliceImageSliceImageSliceimageSliceimage_slice (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4)

通过提取获得的结果图像。

BitBitBitBitbitbit (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

要选择的位。

默认值: 8

建议值: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 30, 32

最小增量: 1

建议增量: 1

示例(HDevelop)

read_image(Image,'fabrik')
for I:= 1 to 8 by 1
    bit_slice (Image, ImageSlice, I)
    threshold (ImageSlice, Region, 1, 255)
    dev_display (Region)
endfor

示例(C)

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

示例(HDevelop)

read_image(Image,'fabrik')
for I:= 1 to 8 by 1
    bit_slice (Image, ImageSlice, I)
    threshold (ImageSlice, Region, 1, 255)
    dev_display (Region)
endfor

示例(HDevelop)

read_image(Image,'fabrik')
for I:= 1 to 8 by 1
    bit_slice (Image, ImageSlice, I)
    threshold (ImageSlice, Region, 1, 255)
    dev_display (Region)
endfor

示例(HDevelop)

read_image(Image,'fabrik')
for I:= 1 to 8 by 1
    bit_slice (Image, ImageSlice, I)
    threshold (ImageSlice, Region, 1, 255)
    dev_display (Region)
endfor

结果

如果图像类型正确且 BitBitBitBitbitbit 具有有效值,则算子 bit_slicebit_sliceBitSliceBitSliceBitSlicebit_slice 返回值 2 ( H_MSG_TRUE )。当输入为空(无可用输入图像)时,可设置行为通过算子 set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的后继

thresholdthresholdThresholdThresholdThresholdthreshold, bit_orbit_orBitOrBitOrBitOrbit_or

替代

bit_maskbit_maskBitMaskBitMaskBitMaskbit_mask

另见

bit_andbit_andBitAndBitAndBitAndbit_and, bit_lshiftbit_lshiftBitLshiftBitLshiftBitLshiftbit_lshift

模块

基础