bit_slicebit_sliceBitSliceBitSlicebit_slice位分割(算子)
名称
bit_slicebit_sliceBitSliceBitSlicebit_slice — 从像素中提取一个比特。
签名
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
模块
基础