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 -;
  }
  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

最新文章

  1. js中typeOf用法
  2. MySQL 注册码
  3. 数据库MySQL基本语法思维导图
  4. JSP页面转向方式
  5. 【转载】php中iconv函数使用方法
  6. python 使用*args 和**kwargs
  7. event事件:
  8. 【转】Bash中的shopt选项
  9. CVPR2013-reading list
  10. 聊聊js运算符 ‘与(&amp;&amp;)’和‘ 或(||)’
  11. 谋哥:研究App排行榜浮出的神器
  12. hdu1535(最短路)
  13. intellij idea 12 搭建maven web项目
  14. app间互相启动及传参数
  15. 第一次 刷 WiFi 模块esp8266 感谢创客阿正
  16. 7.10 break.c 程序
  17. python网络爬虫学习笔记(二)BeautifulSoup库
  18. 常见的移动端Web页面问题
  19. 基于ZooKeeper和Thrift构建动态RPC调用
  20. PByte和PChar的关系

热门文章

  1. CMake指南
  2. Oracle查看 open_cursors 和 session_cached_cursors
  3. Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable configuration on demand by setting org
  4. centos8 安装 nginx
  5. shell 脚本里的$(( ))、$( )、``与${ }的区别
  6. JavaScript-----14.内置对象 Array()和String()
  7. Python实现单链表数据的添加、删除、插入操作
  8. Zuul 修改 请求头、响应头 (死磕)
  9. Python 从入门到进阶之路(七)
  10. 传统jdbc存在的问题总结