拿到了dalsa相機,可以用Sapera軟件配置相機,進行圖像采集。但是自己開發的話就得擼起袖子寫代碼了,查了兩篇不錯的博文,作為指導。
Sapera幫助文檔 - 《好好先生》專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/liubing8609/article/details/68485919
DALSA線陣CCD開發紀要(C++) - simplelove17的專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/simplelove17/article/details/45393725
1、首先搞清楚要實現什么功能。
現在的應用是用編碼器的脈沖觸發相機來進行逐行掃描。
以C:\Program Files\Teledyne DALSA\Sapera\Demos\Binaries 目錄下的GigeCameraDemo.exe為例。
1)雙擊運行程序之后,首先是彈出一個界面讓你選擇相機和配置文件。也就是說,你可以先用Sapera把相機配置好,然后自己開發程序時只需要加載這個配置文件就行了,不用在自己的程序里對相機做配置。
2)之后進入取圖界面
點擊Grab按鈕可以獲取一幀圖像(注意編碼器給轉動給相機脈沖信號),Snap是實時顯示圖像。
這時候還可以點擊Load Config按鈕來更換相機配置文件。
這些功能在測試階段基本夠用了。
2、然后是Visual Studio 開發C++的第一步,工程配置。
配置Dalsa的過程跟配置Opencv類似,主要是參考下文:
Sapera幫助文檔 - 《好好先生》專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/liubing8609/article/details/68485919
具體過程如下:
1)以GigECameraDemo為例,首先打開Debug 64的配置界面
設置包含目錄
設置庫目錄
附加庫目錄
靜態鏈接庫名稱(注意這里原來有halcon.lib,但是我的電腦里並沒有裝halcon,導致運行時報出“找不到halcon.lib”這樣的錯誤,我就把halcon.lib從這個列表中移除了)
如果編寫GUI程序還得添加SapClassGui.lib和SapClassGuiD.lib。
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之后會看到所有的程序都在這一個解決方案里。
所以生成的時候一定要選中自己要調試的項目再點生成啊,不然會把整個解決方案都生成一遍,非常耗時。
生成成功之后直接在VS里按F5,或點擊運行按鈕,會報下面的錯誤。
正確的做法是進到Bubug 64 目錄下找到生成好的exe文件,雙擊運行。。。
結果就出現了之前修改的效果(簡單粗暴了點)