直播商城平臺,影像呈並排的形式展示

zhibo系統開發發表於2022-02-21

直播商城平臺,影像呈並排的形式展示實現的相關程式碼

Halcon程式碼

read_image (Image, 'claudia')                   //讀取影像
concat_obj (Image, Image, Images)               //連線兩個標誌性的物件元組
tile_images (Images, TiledImage1, 1, 'vertical')  //將多個影像物件平鋪成一個大影像
tile_images (Images, TiledImage2, 2, 'horizontal')
scale_image (Image, ImageInverted, -1, 256)         //縮放影像的灰度值。
concat_obj (ImageInverted, ImageInverted, ImagesInverted) //連線兩個標誌性的物件元組
concat_obj (Images, ImagesInverted, Images4)
tile_images (Images4, TiledImage3, 2, 'horizontal')
tile_images (Images4, TiledImage4, 2, 'vertical')
mirror_image (Image, ImageMirror, 'row')                  //映象影像
concat_obj (Images4, ImageMirror, Images5)
tile_images (Images5, TiledImage5, 3, 'horizontal')
tile_images (Images5, TiledImage6, 3, 'vertical')
mirror_image (Image, ImageMirror2, 'column')
concat_obj (ImageMirror2, ImageMirror2, ImagesMirror)
concat_obj (Images5, ImagesMirror, Images7)
tile_images (Images7, TiledImage7, 5, 'horizontal')
tile_images (Images7, TiledImage8, 5, 'vertical')

1.1 關鍵函式分析

1.1.1 concat_obj (Operator)

concat_obj — 連線兩個標誌性物件元組

concat_obj(Objects1, Objects2 : ObjectsConcat : : )
//Objects1 (input_object)   --Object tuple 1.
//Objects2 (input_object)   --Object tuple 2.
//ObjectsConcat (output_object) --Concatenated objects.

1.1.1.1 描述

concat_obj 將標誌性物件 Objects1 和 Objects2 的兩個元組連線成一個新的標誌性物件 ObjectsConcat 元組。因此,這個元組包含兩個輸入元組的所有標誌性物件:

ObjectsConcat = [Objects1,Objects2]

在 ObjectsConcat 中,先儲存 Objects1 的物件,然後是 Objects2 的物件,即保留物件的順序。請注意,ObjectsConcat 中僅儲存對相應影像和區域的引用,即不會分配新記憶體。此外,這意味著對輸入影像的修改,例如,使用 set_grayval、overpaint_gray 或 overpaint_region 直接影響輸出元組 ObjectsConcat 的影像,反之亦然。

concat_obj 不應與 union1 或 union2 混淆,它們合併了區域,即修改了物件的數量。

concat_obj 可用於將不同影像物件型別(例如,影像和 XLD 輪廓)的物件連線成單個物件。僅當需要在單個物件變數中進行累加時才建議這樣做,例如,影像處理序列的結果。需要注意的是,能夠處理這種混合型別物件元組的運算子只有 concat_obj、copy_obj、select_obj 和 disp_obj。

1.1.1 tile_images (Operator)

tile_images — 將多個影像物件平鋪成一個大影像。

tile_images(Images : TiledImage : NumColumns, TileOrder : )
//Images (input_object)     --Input images.
//TiledImage (output_object)    --Tiled output image.
//NumColumns (input_control)    --用於輸出影像的列數
Default value: 1
Suggested values: 1, 2, 3, 4, 5, 6, 7
Restriction: NumColumns >= 1
//TileOrder (input_control)   --輸入影像在輸出影像中的順序。
Default value: 'vertical'
List of values: 'horizontal', 'vertical'

tile_images 將多個輸入影像物件(必須包含相同數量的通道)平鋪到一個大影像中。輸入影像物件 Images 包含 Num 個影像,這些影像可能具有不同的大小。輸出影像 TiledImage 包含與輸入影像一樣多的通道。在輸出影像中,Num 輸入影像已平鋪到 NumColumns 列中。每個圖塊具有相同的大小,由所有輸入影像的最大寬度和高度決定。如果輸入影像小於圖塊大小,則將其複製到相應圖塊的中心。在 NumColumns 尚未確定的情況下(即,如果 NumColumns != 1 和 NumColumns != Num),引數 TileOrder 確定將影像複製到輸出中的順序。如果 TileOrder = ‘horizontal’ 影像將在水平方向複製,即影像的第二個影像將在第一個影像的右側。如果 TileOrder = ‘vertical’ 影像將在垂直方向複製,即影像的第二個影像將在第一個影像下方。 TiledImage的domain是通過將Images的domains複製到輸出影像中的對應位置得到的。如果 Num 不是 NumColumns 的倍數,則輸出影像將在影像的右下角具有未定義的灰度值。輸出域將反映這一點。

以上就是直播商城平臺,影像呈並排的形式展示實現的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2856662/,如需轉載,請註明出處,否則將追究法律責任。

相關文章