1. OpenCV 配置
1.1 下載 opencv 源碼,並將其添加至環境變量
D:\opencv4.1\build\x64\vc15\bin
注:vs2015 選 vc14,vs2017 選 vc15
1.2 創建 C++ 項目,選擇 “視圖” -> “屬性頁”,配置:活動(Debug),平台:活動(x64)
- VC++目錄:包含目錄和庫目錄
包含目錄:D:\opencv4.1\build\include; D:\opencv4.1\build\include\opencv2
庫目錄:D:\opencv4.1\build\x64\vc15\lib
- “鏈接器” -> “輸入” -> “附加依賴項”
opencv_world410.lib opencv_world410d.lib
注:
- opencv_world410d.lib 中的 'd' 表示 "debug",若沒有 'd',表示 "release";
- 這兩個文件在 "D:\opencv4.1\build\x64\vc15\lib" 目錄下。
1.3 測試
注:運行前,選擇 Debug,x64
#include <opencv2/opencv.hpp> #include <iostream> using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("path/to/image");
if (src.empty())
{
cout << "Could not load image..." << endl;
return -1;
}
nameWindow("Test", WINDOW_AUTOSIZE);
imshow("", src);
waitkey(1000);
return 0;
}
2. Spinnaker SDK 配置
Spinnaker SDK 是灰點公司(PointGrey)提供的 SDK,是之前 FlyCapture SDK 的升級版。
2.1 下載 SDK,並安裝
https://flir.app.boxcn.net/v/SpinnakerSDK/folder/68522911814
2.2 項目屬性配置
- 加載頭文件:"C/C++" -> “常規” -> “附加包含目錄”
- 加載 lib 庫文件:“鏈接器” -> “常規” -> “附加庫目錄”
D:\Spinnaker\lib64\vs2015
- “鏈接器” -> “輸入” -> “附加依賴項”
Spinnakerd_v140.lib
Spinnaker_v140.lib
注:Spinnakerd_v140.lib(Debug), Spinnaker_v140.lib(Release)
3. Spinnaker SDK 采集的圖像轉成 OpenCV mat 格式
#include <opencv2/opencv.hpp> cv::Mat cvMat; int cvFormat = CV_8UC1; unsigned int XPadding = convertedImage->GetXPadding(); unsigned int YPadding = convertedImage->GetYPadding(); unsigned int rowsize = convertedImage->GetWidth(); unsigned int colsize = convertedImage->GetHeight(); cvMat = cv::Mat(colsize + YPadding, rowsize + XPadding, cvFormat, convertedImage->GetData(), convertedImage->GetStride());
參考:https://github.molgen.mpg.de/MPIBR/SpinnakerCapture/blob/master/SpinnakerCapture.cpp