1. 程式人生 > >Halcon學習之二:攝像頭獲取圖像和相關參數

Halcon學習之二:攝像頭獲取圖像和相關參數

digg tail tours mage eight sta vision name pict

1、close_all_framegrabbers ( : : : )

關閉所有圖像采集設備。

2、close_framegrabber ( : : AcqHandle : )

關閉Handle為AcqHandle的圖像采集設備。

3、open_framegrabber ( : : Name, HorizontalResolution,

VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,

Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger,

CameraType, Device, Port, LineIn : AcqHandle )

打開圖像采集設備

參數信息:

Name:圖像采集設備的名稱

HorizontalResolution和VerticalResolution:分別指預期的圖像采集接口的水平分辨率和垂直分辨率

ImageWidth和ImageHeight:指預期圖像的寬度部分和高度部分。

StartRow和StartColumn:指顯示預期圖像的開始坐標

Field:預期圖像是一半的圖像或者是完整圖像

BitsPerChannel:每像素比特數和圖像通道

ColorSpace:輸出的色彩格式的抓住圖像{gray、raw、rgb、yuv、default}

Generic:通用參數與設備細節部分的具體意義。

ExternalTrigger:是否有外部觸發

CameraType:使用相機的類型

Device:圖像獲取設別連接到的設備

Port:圖像獲取設別連接到的端口

LineIn :相機輸入的多路轉接器

AcqHandle:圖像獲取設備的Handle

4、grab_image ( : Image : AcqHandle : )

獲取AcqHandle的圖像采集設備的Image。

5、get_framegrabber_param ( : : AcqHandle, Param : Value )

查詢AcqHandle的圖像采集設備的特殊參數

Param∈{name、port、revision、bits_per_channel, camera_type、color_space、device、?eld、generic、external_trigger、grab_timeout、horizontal_resolution、image_available、image_height、image_width、line_in、start_column、start_row、volatile、vertical_resolution、continuous_grabbing、}

6、info_framegrabber ( : : Name, Query : Information, ValueList )

查詢指定的圖像采集接口的信息。

Name為圖像采集設備的名稱

Query為需要查詢的參數名稱

Information是指輸出的文本信息

ValueList為該圖像采集接口的參數值。

Name∈{1394IIDC、ABS、BaumerFCAM、BitFlow、Crevis、uEye、DahengCAM、DahengFG、DFG-LC、DirectFile、DirectShow、dPict、DT315x、DT3162、eneo、eXcite、FALCON、FlashBusMV、FlashBusMX、GigEVision、Ginga++、GingaDG、INSPECTA、TAG、INSPECTA5、iPORT、Leutron、LinX、LuCam、MatrixVisionAcquire、MILLite、File、mEnableIII、mEnableIV、mEnableVisualApplets、MultiCam、Opteon、p3i2、p3i4、PixeLINK、PX、PXC、PXD、PXR、pylon、RangerC、RangerE、SaperaLT、Sentech、SonyXCI、SonyXCI-2、SVCam-GigE、TWAIN、VRmUsbCam}

Query∈{defaults、general、info_boards、parameters、?eld、generic、parameters_readonly、parameters_writeonly、vertical_resolution、port、bits_per_channel、camera_type、color_space、device、external_trigger、?eld、generic、horizontal_resolution、image_height、image_width、start_row、start_column、revision}

7、grab_image_async ( : Image : AcqHandle, MaxDelay : )

獲取AcqHandle的圖像采集設備的Image

當調用grab_image_async 或者grab_data_async時,抓拍下一個圖像就結束了。

[c-sharp] view plain copy
  1. // Select a suitable image acquisition interface name AcqName
  2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,’default’,’default’,’default’,-1,-1,AcqHandle)
  3. // Grab image + start next grab
  4. grab_image_async(Image1,AcqHandle,-1.0)
  5. // Process Image1 ...
  6. // Finish asynchronous grab + start next grab
  7. grab_image_async(Image2,AcqHandle,-1.0)
  8. // Process Image2 ...
  9. close_framegrabber(AcqHandle)

8、grab_image_start ( : : AcqHandle, MaxDelay : )

開始抓拍

只有當和grab_image_async or grab_data_async一起使用時,grab_image_start 才會起作用。

[c-sharp] view plain copy
  1. // Select a suitable image acquisition interface name AcqName
  2. open_framegrabber(AcqName,1,1,0,0,0,0,’default’,-1,’default’,-1.0,
  3. default’,’default’,’default’,-1,-1,AcqHandle)
  4. grab_image(Image1,AcqHandle)
  5. // Start next grab
  6. grab_image_start(AcqHandle,-1.0)
  7. // Process Image1 ...
  8. // Finish asynchronous grab + start next grab
  9. grab_image_async(Image2,AcqHandle,-1.0)
  10. // Process Image2 ...
  11. close_framegrabber(AcqHandle)

9、get_framegrabber_lut ( : : AcqHandle : ImageRed, ImageGreen,

ImageBlue )

查詢AcqHandle的圖像采集設備的look-up table

註意:該運算子不能支持所有的圖像采集設備

10、grab_data ( : Image, Region, Contours : AcqHandle : Data )

獲取AcqHandle的圖像采集設備獲得的Image、預處理Region和預處理XLD輪廓Contours和預處理控制數據Data。

註意:該運算子不能支持所有的圖像采集設備

11、grab_data_async ( : Image, Region, Contours : AcqHandle,MaxDelay: Data )

獲取AcqHandle的圖像采集設備的Image、預處理Region和預處理XLD輪廓Contours和預處理控制數據Data。(需要特殊圖像采集數據)

12、set_framegrabber_lut ( : : AcqHandle, ImageRed, ImageGreen,ImageBlue : )

設置AcqHandle的圖像采集設備的look-up table

13、set_framegrabber_param ( : : AcqHandle, Param, Value : )

設置AcqHandle的圖像采集設備的特殊參數

相關代碼:

[c-sharp] view plain copy
  1. close_all_framegrabbers ()
  2. open_framegrabber (‘DahengCAM‘, 1, 1, -1, -1, 0, 0, ‘default‘, -1, ‘rgb‘, -1, ‘false‘, ‘default‘, ‘default‘, -1, -1, AcqHandle)
  3. grab_image (Image, AcqHandle)
  4. grab_image_async (Image2, AcqHandle, -1)
  5. get_framegrabber_param (AcqHandle, ‘image_width‘, Value)
  6. info_framegrabber (‘DirectFile‘, ‘info_boards‘, Information, ValueList)

可以通過調試以上代碼,並且查看相關變量的變化,更深入的了解函數的意義。

註意:在本段代碼中,使用的是大恒的HV1303的工業攝像機,如果是使用一般的攝像頭來采集數據的話,Name值可以設置為Direct_show。

1
0

Halcon學習之二:攝像頭獲取圖像和相關參數