halcon算子翻译——gen_image_interleaved

Posted 水行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了halcon算子翻译——gen_image_interleaved相关的知识,希望对你有一定的参考价值。

名称

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位),填充位(X)是第一位。位模式是XRRRRRGG | GGGBBBBB。

  ‘bgr555‘:

三通道16位bgr(每个像素和通道5位),填充位(X)是第一位。位模式是XBBBBBGG | GGGRRRRR。

  ‘rgb5551‘:

三通道16位rgb(每像素和通道5位),填充位(X)是最后一位。位模式是RRRRRGGG | GGBBBBBX。

  ‘bgr5551‘:

三通道16位bgr(每个像素和通道5位),填充位(X)是最后一位。位模式是BBBBBGGG | GGRRRRRX。

  ‘rgb565‘:

三通道16位rgb(每个像素和通道5位,绿色通道6位)。位模式是RRRRRGGG | GGGBBBBB。

  ‘bgr565‘:

三通道16位bgr(每个像素和通道5位,绿色通道6位)。位模式是BBBBBGGG | GGGRRRRR。

  ‘rgb‘:

三通道24位rgb(每个像素和通道8位)

  ‘bgr‘:

三通道24位bgr(每个像素和通道8位)

  ‘rgbx‘:

四通道32位rgb(每个像素和通道8位)

  ‘bgrx‘:

四通道32位bgr(每个像素和通道8位)

  ‘rgb48‘:

三通道48位rgb(每个像素和通道16位)

  ‘bgr48‘:

三通道48位bgr(每个像素和通道16位)

  ‘rgbx64‘:

四通道64位rgb(每像素和通道16位)

  ‘bgrx64‘:

四通道64位bgr(每像素和通道16位)

  值‘rgb555‘,‘bgr555‘,‘rgb565‘,‘bgr565‘,‘rgb5551‘和‘bgr5551‘可以和后缀‘le‘一起使用(Little Endian(小端):低位字节在前)或者 - 默认情况下后缀被省略 -(Big Endian(大端):高位字节在前)。 例如,ColorFormat =‘rgb555‘的位模式是XRRRRRGG | GGGBBBBB,而ColorFormat =‘rgb555le‘的位模式是GGGBBBBB | XRRRRRGG。

并行

●  多线程类型:可重入(与非独占算子并行运行)。
●  多线程范围:全局(可以从任何线程调用)。
●  不并行化处理。

参数

ImageRGB   (output_object) image → object (byte / uint2)
新创建的图像矩阵


PixelPointer (input_control)    pointer → (integer)
指向交错像素的指针。


ColorFormat (input_control)    string → (string)
  输入像素的格式。
  Default value: ‘rgb‘
  List of values: ‘bgr‘, ‘bgr48‘, ‘bgr555‘, ‘bgr5551‘, ‘bgr5551be‘, ‘bgr5551le‘, ‘bgr555be‘, ‘bgr555le‘, ‘bgr565‘, ‘bgr565be‘, ‘bgr565le‘, ‘bgrx‘, ‘bgrx64‘, ‘rgb‘, ‘rgb48‘, ‘rgb555‘, ‘rgb5551‘, ‘rgb5551be‘, ‘rgb5551le‘, ‘rgb555be‘, ‘rgb555le‘, ‘rgb565‘, ‘rgb565be‘, ‘rgb565le‘, ‘rgbx‘, ‘rgbx64‘


OriginalWidth (input_control)    extent.x → (integer)
  图像宽度。
  Default value: 512
  Suggested values: 128, 256, 512, 1024
  Typical range of values: 1 ≤ OriginalWidth (lin)
  Minimum increment: 1
  Recommended increment: 10


OriginalHeight (input_control)    extent.y → (integer)
  图像高度。
  Default value: 512
  Suggested values: 128, 256, 512, 1024
  Typical range of values: 1 ≤ OriginalHeight (lin)
  Minimum increment: 1
  Recommended increment: 10


Alignment (input_control)    integer → (integer)
  保留。


Type (input_control)    string → (string)
  输出图像的像素类型。
  Default value: ‘byte‘
  List of values: ‘byte‘, ‘uint2‘


ImageWidth (input_control)    rectangle.extent.x → (integer)
  输出图像宽度。
  Default value: 0
  Suggested values: 128, 256, 512, 1024
  Typical range of values: 0 ≤ ImageWidth (lin)
  Minimum increment: 1
  Recommended increment: 10


ImageHeight (input_control)    rectangle.extent.y → (integer)
  输出图像高度。
  Default value: 0
  Suggested values: 128, 256, 512, 1024
  Typical range of values: 0 ≤ ImageHeight (lin)
  Minimum increment: 1
  Recommended increment: 10


StartRow (input_control)    rectangle.origin.y → (integer)
  所需图像部分左上角的行号。
  Default value: 0
  Suggested values: -1, 0


StartColumn (input_control)    rectangle.origin.x → (integer)
  所需图像部分左上角的列号。
  Default value: 0
  Suggested values: -1, 0


BitsPerChannel (input_control)    integer → (integer)
  输出图像的每个像素和通道使用的位数(-1:使用所有位)。
  Default value: -1
  Suggested values: 5, 8, 10, 12, 16, -1


BitShift (input_control)    integer → (integer)
  输入像素的颜色值向右移动的位数(仅uint2图像)。
  Default value: 0
  Suggested values: 0, 2, 4, 6

结果

如果参数值正确,则算子gen_image_interleaved返回值2(H_MSG_TRUE)。 否则会引发异常。

Possible Successors

disp_color

See also

reduce_domain, paint_gray, paint_region, set_grayval, gen_image_const

模块

Foundation

HDevelop例程

gen_image_interleaved.hdev  演示从交错像素的输入矩阵创建三通道HALCON图像的各种方法

以上是关于halcon算子翻译——gen_image_interleaved的主要内容,如果未能解决你的问题,请参考以下文章

Halcon算子翻译——catch

Halcon算子翻译——comment

Halcon算子翻译——endwhile

halcon算子翻译——return

halcon算子翻译——stop

Halcon算子翻译——break