名稱
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圖像的各種方法