Halcon學習教程之二:攝像頭獲取圖像和相關參數(shù)
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?)
?????打開圖像采集設備
參數(shù)信息:
?? Name:圖像采集設備的名稱
?? HorizontalResolution和VerticalResolution:分別指預期的圖像采集接口的水平分辨率和垂直分辨率
?? ImageWidth和ImageHeight:指預期圖像的寬度部分和高度部分。
?? StartRow和StartColumn:指顯示預期圖像的開始坐標
?? Field:預期圖像是一半的圖像或者是完整圖像
?? BitsPerChannel:每像素比特數(shù)和圖像通道
?? ColorSpace:輸出的色彩格式的抓住圖像{gray、raw、rgb、yuv、default}
?? Generic:通用參數(shù)與設備細節(jié)部分的具體意義。
?? ExternalTrigger:是否有外部觸發(fā)
?? CameraType:使用相機的類型
?? Device:圖像獲取設別連接到的設備
?? Port:圖像獲取設別連接到的端口
?? LineIn?:相機輸入的多路轉接器
?? AcqHandle:圖像獲取設備的Handle
4、grab_image?(?:?Image?:?AcqHandle?:?)
獲取AcqHandle的圖像采集設備的Image。
5、get_framegrabber_param?(?:?:?AcqHandle,?Param?:?Value?)
查詢AcqHandle的圖像采集設備的特殊參數(shù)
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為需要查詢的參數(shù)名稱
Information是指輸出的文本信息
ValueList為該圖像采集接口的參數(shù)值。
?????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
當調(diào)用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和預處理控制數(shù)據(jù)Data。
注意:該運算子不能支持所有的圖像采集設備
11、grab_data_async?(?:?Image,?Region,?Contours?:?AcqHandle,MaxDelay:?Data?)
???獲取AcqHandle的圖像采集設備的Image、預處理Region和預處理XLD輪廓Contours和預處理控制數(shù)據(jù)Data。(需要特殊圖像采集數(shù)據(jù))
12、set_framegrabber_lut?(?:?:?AcqHandle,?ImageRed,?ImageGreen,ImageBlue?:?)
?????設置AcqHandle的圖像采集設備的look-up?table
13、set_framegrabber_param?(?:?:?AcqHandle,?Param,?Value?:?)
????設置AcqHandle的圖像采集設備的特殊參數(shù)
?相關代碼:
[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)??
可以通過調(diào)試以上代碼,并且查看相關變量的變化,更深入的了解函數(shù)的意義。
注意:在本段代碼中,使用的是大恒的HV1303的工業(yè)攝像機,如果是使用一般的攝像頭來采集數(shù)據(jù)的話,Name值可以設置為Direct_show。
?