1. 程式人生 > >Dalsa線掃相機SDK開發-小試牛刀(1)

Dalsa線掃相機SDK開發-小試牛刀(1)

拿到了dalsa相機,可以用Sapera軟體配置相機,進行影象採集。但是自己開發的話就得擼起袖子寫程式碼了,查了兩篇不錯的博文,作為指導。

1、首先搞清楚要實現什麼功能。

現在的應用是用編碼器的脈衝觸發相機來進行逐行掃描。

以C:\Program Files\Teledyne DALSA\Sapera\Demos\Binaries 目錄下的GigeCameraDemo.exe為例。

1)雙擊執行程式之後,首先是彈出一個介面讓你選擇相機和配置檔案。也就是說,你可以先用Sapera把相機配置好,然後自己開發程式時只需要載入這個配置檔案就行了,不用在自己的程式裡對相機做配置。

Image 3

2)之後進入取圖介面

Image 4

點選Grab按鈕可以獲取一幀影象(注意編碼器給轉動給相機脈衝訊號),Snap是實時顯示影象。

這時候還可以點選Load Config按鈕來更換相機配置檔案。

這些功能在測試階段基本夠用了。

2、然後是Visual Studio 開發C++的第一步,工程配置。

配置Dalsa的過程跟配置Opencv類似,主要是參考下文:

具體過程如下:

1)以GigECameraDemo為例,首先開啟Debug 64的配置介面

Image 7

設定包含目錄

Image 6

設定庫目錄

Image 8

附加庫目錄

Image 9

靜態連結庫名稱(注意這裡原來有halcon.lib,但是我的電腦裡並沒有裝halcon,導致執行時報出“找不到halcon.lib”這樣的錯誤,我就把halcon.lib從這個列表中移除了)

Image 10

如果編寫GUI程式還得新增SapClassGui.lib和SapClassGuiD.lib。

Image 11

3、程式碼編寫,參考dalsa的例程。

這裡直接用Dalsa的程式碼做的測試,為了驗證程式碼環境配置是否成功,對Demo做了一點改動。

在GigeCameraDemoDlg.cpp檔案中OnInitDialog()函式中添加了一句程式碼:

BOOL CGigeCameraDemoDlg::OnInitDialog()  {      CRect rect;

    MessageBox(_T("Welcome to GigE Camera Demo!"));

    CDialog::OnInitDialog();

  …

4、執行與除錯。

我是直接開啟的C:\Program Files\Teledyne DALSA\Sapera\Demos\Classes\Vc目錄下的SapDemos_2012.sln解決方案檔案,進到VS之後會看到所有的程式都在這一個解決方案裡。

Image 12

所以生成的時候一定要選中自己要除錯的專案再點生成啊,不然會把整個解決方案都生成一遍,非常耗時。

Image 13

生成成功之後直接在VS裡按F5,或點選執行按鈕,會報下面的錯誤。

Image 1

正確的做法是進到Bubug 64 目錄下找到生成好的exe檔案,雙擊執行。。。

Image 2

結果就出現了之前修改的效果(簡單粗暴了點)

Image 14