名称
gen_image_interleaved - 从一个指向交织像素的指针创建一个三通道图像。
用法
gen_image_interleaved( : ImageRGB : PixelPointer, ColorFormat, OriginalWidth, OriginalHeight, Alignment, Type, ImageWidth, ImageHeight, StartRow, StartColumn, BitsPerChannel, BitShift : )
描述
算子gen_image_interleaved从输入图像创建一个三通道图像,其像素按照行顺序存储在PixelPointer中。 输入图像的大小必须以OriginalWidth和OriginalHeight传递。交织像素的格式在ColorFormat中指定。
输出图像的大小是ImageWidth * ImageHeight。 与左上角的StartRow和StartColumn的坐标一起,可以提取输入图像的任何部分。 当ImageWidth,ImageHeight,StartRow和StartColumn都为0时,输出图像与输入图像有相同的尺寸。
请注意,必须选择输出图像ImageRGB的图像类型Type(请参见gen_image_const),以便可以表示输入图像的可能颜色值的整个范围。即 gen_image_interleaved不允许使用输入图像格式ColorFormat为'rgb48'来创建一个字节图像。
当格式“rgb48”,“bgr48”,“rgbx64”和“bgr64”不使用每个通道和像素的全部16位时,应该在BitsPerChannel中传递实际使用的位数。 此外,输入图像的像素值可以通过向右移位BitShift位。
格式为“rgbx”,“bgrx”,“rgbx64”和“bgrx64”的四通道输入图像的第四个通道被简单地丢弃。
新图像的存储是由HALCON新创建的。 因此,指针可以在调用结束后释放。 请注意,如何传递一个指针值取决于所使用的算子和编程环境。 确保传递存储图像数据的实际内存地址,而不是指针变量的地址。 必须注意不要在64位体系结构上截断64位指针。
ColorFormat的可能值:
'rgb555':
三通道16位rgb(每个像素和通道5位),