名稱
gen_image1_extern - 使用帶存儲管理從像素上的指針創建圖像。
用法
gen_image1_extern( : Image : Type, Width, Height, PixelPointer, ClearProc : )
描述
算子gen_image1_extern創建一個大小為Width*Height的圖像。 PixelPointer中的像素按線順序存儲。 給定像素(PixelPointer)的類型必須對應於Type(請參閱gen_image_const以獲取更詳細的圖像類型描述)。 請注意,如何傳遞一個指針值取決於所使用的算子和編程環境。 確保傳遞存儲圖像數據的實際內存地址,而不是指針變量的地址。 必須注意不要在64位體系結構上截斷64位指針。
新圖像的內存不是由HALCON新分配的,與gen_image1相反,因此也不被復制。 這意味着PixelPointer指向的內存空間必須通過刪除對象Image來釋放。 這是由調用者提供的程序ClearProc完成的。 此函數必須具有以下模式:
void ClearProc(void* ptr);
並在刪除圖像時使用__cdecl調用約定進行調用。 如果內存不被釋放(在圖像采集卡或靜態存儲器的情況下),可以傳遞“無中繼”或NULL指針的函數。 類似於參數PixelPointer,指針必須根據所使用的算子用法和編程環境傳遞給函數。
注意
gen_image1_extern不檢查Width*Height的圖像是否足夠的內存分配在PixelPointer中。
並行
● 多線程類型:可重入(與非獨占算子並行運行)。
● 多線程范圍:全局(可以從任何線程調用)。
● 不並行化處理。
參數
Image (output_object) image → object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)
創建的Halcon圖像。
Type (input_control) string → (string)
像素類型。
Default value: 'byte'
List of values: 'byte', 'cyclic', 'direction', 'int1', 'int2', 'int4', 'real', 'uint2'
Width (input_control) extent.x → (integer)
圖像寬度。
Default value: 512
Suggested values: 128, 256, 512, 1024
Typical range of values: 1 ≤ Width ≤ 512 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: Width >= 1
Height (input_control) extent.y → (integer)
圖像高度。
Default value: 512
Suggested values: 128, 256, 512, 1024
Typical range of values: 1 ≤ Height ≤ 512 (lin)
Minimum increment: 1
Recommended increment: 10
Restriction: Height >= 1
PixelPointer (input_control) pointer → (integer)
指向第一個灰度值的指針。
ClearProc (input_control) pointer → (integer)
指向在刪除對象時重新釋放圖像的內存的函數的指針。
Default value: 0
Example (C)
void NewImage(Hobject *new) { unsigned char *image; int r,c; image = malloc(640*480); for (r=0; r<480; r++) for (c=0; c<640; c++) image[r*640+c] = c % 255; gen_image1_extern(new,"byte",640,480,(Hlong)image,(Hlong)free); }
結果
如果參數值正確,則算子gen_image1_extern返回值2(H_MSG_TRUE)。 否則會引發異常。
Alternatives
gen_image1, gen_image_const, get_image_pointer1, gen_image3_extern
See also
reduce_domain, paint_gray, paint_region, set_grayval
模塊
Foundation
