basler相機sdk開發例子說明——c++


 

1 軟硬件准備:basler aca1600-20gm 相機,  win10 x64,  vs2013,opencv3.1

2 下載安裝pylon,到basler官方網站下載適合自己相機的pylon版本(我的是pylon 5.0),安裝的時候注意選擇安裝開發者模式。

3 確認成功安裝pylon :給相機上電並用網線鏈接到電腦,修改電腦的ip,參考 http://wenku.baidu.com/link?url=YSn8ZllIH_eD32NZzZUVgqy3fSHXbMo6Wg7u-uHlNjeG4RoflhV2Xbw6L4BCi9RcWLZ6vr_82OWkWQ0nz6GWghUvd8Ys0QgYIeNFBpulvvG

4 找到 Basler\pylon 5\Development\Samples\C++ 文件夾,我選擇的是默認安裝,所以路徑是C:\Program Files\Basler\pylon5\Development\Samples\C++打開工程因為我的相機是GigE接口,所以我打開PylonSamples_GigE.sln編譯就可以運行啦。

 

各個工程的作用:

DeviceRemovalHandling 這個示例程序演示了如何移除相機設備。它還顯示如何重新連接到已刪除的設備.。

Grab 這個例子演示了如何抓取過程中采用cinstantcamera類圖像。圖像是抓住和異步處理,當應用程序處理一個緩沖區,緩沖區的下一個收購是平行進行的,cinstantcamera類使用一個緩沖池,從攝像頭獲取圖像數據。緩沖區填充完畢后,可以從相機對象檢索緩沖區進行處理.。在抓取結果中收集緩沖區和附加圖像數據。抓取結果由智能指針在檢索后保持.。當顯式釋放或智能指針對象被銷毀時,緩沖區將自動重復使用.。

Grab_camera_EventsGigE :Basler GigEVision和IEEE 1394相機可以發送事件消息。例如,當傳感器曝光完成后,相機可以將曝光結束事件發送到PC。
可接收由PC前的圖像數據為成品曝光已完全轉移。此示例說明如何在照相機事件消息數據時通知.
收到。
事件信息的自動檢索和處理的instantcamera類。將事件消息所攜帶的信息暴露在攝像機節點映射中的參數節點中.
可以訪問像“正常”相機參數。當接收到攝像機事件時,將更新這些節點.。您可以注冊相機事件處理程序對象
當接收到事件數據時觸發。
這些機制被證明為暴露結束和事件溢出事件。曝光結束事件進行下列信息:
* exposureendeventframeid:表示圖像幀已暴露的數量。
* exposureendeventtimestamp:表示當事件發生。
* exposureendeventstreamchannelindex:表示圖像數據的數據流用來轉移暴露的框架。
事件溢出事件由照相機發送,作為事件正在被刪除的警告.。該通知不包含有關已刪除多少個或多個事件的特定信息.。
如果事件以非常高的頻率產生,如果沒有足夠的帶寬來發送事件,事件可能會被丟棄。
在這個示例中顯示如何注冊事件處理程序,指示由相機發送的事件的到來.。出於演示的目的,多個不同的處理程序進行分類,相同的事件。

Grab_ChunkImage Basler相機提供塊特征:相機可以生成每個圖像的某些信息,如幀計數器,時間戳,和CRC校驗,這是附加到圖像數據的“塊”。
此示例說明如何啟用塊特性、如何抓取圖像以及如何處理附加數據.。當相機處於塊模式時,它將被划分成塊的數據塊傳輸.。第一個塊總是圖像數據.。當啟用塊特性時,圖像數據塊后面的塊包含包含塊特征的信息.。

Grab_MultiCast.cpp  此示例演示如何在多播模式下打開照相機.以及如何接收多播流。

Grab_MultipleCameras 這個例子演示了如何抓取和處理來自多個攝像機的圖像,使用cinstantcameraarray類。 

Grab_Strategies 這個例程顯示了使用即時相機抓取策略。

Grab_UsingBufferFactory此示例演示用戶提供的緩沖工廠的使用.。 緩沖工廠的使用是可選的,僅用於高級用例.。如果您打算抓取外部提供的緩沖區,則只需要緩沖工廠.。

Grab_UsingExposureEndEvent 此示例演示如何使用曝光結束事件以加快圖像獲取.。例如,當傳感器曝光完成后,相機可以發送一個曝光結束事件的PC。PC可以接收事件之前的圖像數據的成品曝光已被完全轉移。這可以用來避免不必要的延遲,例如在相關的圖像數據傳輸完成之前,成像對象被進一步移動.。

Grab_UsingGrabLoopThread 此示例說明如何使用即時照相機類提供的抓取循環線程來抓取和處理圖像.。 按下T獲取一幅圖像

GUI_ImageWindow 這個例子演示了如何顯示圖像使用cpylonimagewindow類。在這里,圖像被抓取,分割成多個瓦片,每個平鋪顯示在一個單獨的圖像窗口。

ParametrizeCamera_AutoFunctions This sampleillustrates how to use the Auto Functions feature of Basler cameras 包括 自動gain onece GainAuto= Continuous' 自動曝光

ParametrizeCamera_Configurations此示例演示如何通過使用標准配置和注冊示例配置事件處理程序來使用配置事件處理程序.。

 ParametrizeCamera_GenericParameterAccess.本示例演示使用genapi節點圖的genapi表示配置相機的“通用”的方法::inodemap接口。名稱和參數節點類型可以在巴斯勒塔程序員指南和API參考,在相機的用戶手冊,相機中的文件登記的結構和訪問方法(如果適用),並利用塔查看器工具  x y offsetheight width

ParametrizeCamera_LoadAndSave 保存和讀取相機參數!先讀取后保存

ParametrizeCamera_LookupTable  This sampleprogram demonstrates the use of the Luminance Lookup Table feature.

ParametrizeCamera_NativeParameterAccess 和 gennic差不多? 設置?

ParametrizeCamera_Shading  只有線陣相機支持

ParametrizeCamera_UserSets  Demonstrateshow to use user configuration sets (user sets) and how to configure the camera    to start up with the user defined settings of user set1.    You can also configure your camera using the pylon Viewerand  store your custom settings in a user set of your choice

Utility_GrabAvi.  保存視頻

Utility_Image This sampleillustrates how to use the pylon image classes CPylonImage andCPylonBitmapImage. 

Utility_ImageFormatConverter  This sampleillustrates how to use the image format   converter classCImageFormatConverter.

Utility_ImageLoadAndSave

 

本文轉自:https://blog.csdn.net/u013351270/article/details/54290452


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM