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

VS 2017 + OpenCV + Spinnaker SDK(PointGrey) 配置的更多相关文章

  1. OpenCV On Android环境配置最新&最全指南(Android Studio篇)

    本文是从本人简书上搬运而来,属本人原创,如有转载,请注明出处:http://www.jianshu.com/p/6e16c0429044 简介 本文是<OpenCV On Android环境配置 ...

  2. OpenCV On Android环境配置最新&最全指南(Eclipse篇)

    简介 本教程是经过本人多次踩坑,并参考网上众多OpenCV On Android的配置教程总结而来,尽希望能帮助学习移动图像处理的朋友们少走弯路.这也是本人第一次在简书上发布文章,如有不足,希望各位d ...

  3. 解决adb command not found以及sdk环境配置

    解决adb command not found以及sdk环境配置 分类: mark 2013-10-02 09:41 2975人阅读 评论(0) 收藏 举报 原文地址:http://www.cnblo ...

  4. windows下JDK环境配置与Android SDK环境配置

    一.JDK环境配置1.配置变量名:JAVA_HOME变量值:jdk安装的绝对路径. 变量名:Path(在系统变量中找到并选中Path点击下面的编辑按钮,不要删除原本变量值中的任何一个字母,在这个变量值 ...

  5. Opencv各版本的配置

    OpenCV 2.49 + VS2012 配置指南 首先下载 OpenCV2.4.9 源码: 一.  配置系统环境变量 1.  将源码解压到指定目录: 2.  将 opencv 添加到系统环境变量: ...

  6. ogre3d环境配置 SDK安装配置及简单事例教程

    ogre3d环境配置 SDK安装配置及简单事例教程 http://www.cr173.com/html/22594_1.html ogre3d环境配置 SDK安装配置及简单事例教程 http://ww ...

  7. OpenCV+VS开发环境配置

    最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如下 OpenCV学习笔记(一)——Ope ...

  8. 百度地图开发-引入地图SDK并配置 02

    百度地图开发-引入地图SDK并配置 02 通过上一篇文章的介绍,基本了解百度地图的基本信息,接下来就让我们一起来实际在项目中操作,显示出地图. 01 引入地图SDK 首先需要新建一个空白的Androi ...

  9. 【记录一个问题】opencv官网的opencv android sdk使用opencl并未用到GPU

    UMat u_mat;mat.copyTo(u_mat);cv::cvtColor(u_mat, cv::BGR2GARY);这样的代码反复执行,并未发现GPU占用提升.执行时间与不使用UMat相当. ...

随机推荐

  1. 团队项目之Scrum4

    小组:BLACK PANDA 时间:2019.11.24 每天举行站立式会议 提供当天站立式会议照片一张 2 昨天已完成的工作 2 基本实现web富文本编辑功能 后台的编辑接口已经基本完成,还有一些b ...

  2. Cocos2d-x.3.0开发环境搭建之—— 极简式环境搭建

    配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 使用此法可以方便的创建Cocos2d-x项目.如果需要运行Cocos2d-x引擎自带的 ...

  3. MVC(实战二:网址映射)

    一.默认网址 Global.asax 默认网址配置: 此时打开编辑页面,效果如下: ?后面包含name参数和Email参数  在Global中修改网址路由: public static void Re ...

  4. 10.jenkins 按角色分配

    在实际的生产中,需要项目比较多.不同的用户需要对应 不同的项目工程 .这个时候,我们需要按角色给与权限. 要实现这个功能,需要一个插件来完成 . Role-based Authorization St ...

  5. 线程池API总结

    1.Executor:线程池顶级接口,只有一个方法 2.ExecutorService:真正的线程池接口 1) void execute(Runnable command) :执行任务/命令,没有返回 ...

  6. PHP收集一些常用函数与好用的自定义函数

    .自定义打印函数P //自定义打印function pp($data,$exit=0){// 定义样式 $str='<pre style="display: block;padding ...

  7. Git - Git推送本地分支到远程分支报错(! [rejected] non-fast-forward)的解决办法

    一般都是冲突造成的,解决方案执行如下命令(dev为分支名称): git fetch origin dev  #获取远程 dev 分支的修改 git merge origin dev       #合并 ...

  8. goweb- 对请求的处理

    对请求的处理 Go 语言的 net/http 包提供了一系列用于表示 HTTP 报文的结构,我们可以使用它 处理请求和发送相应,其中 Request 结构代表了客户端发送的请求报文,下面让我们看 一下 ...

  9. 深入浅出之js闭包知识点梳理(一)

    简单认识闭包   前言:和大多数编程语言一样,js也采用词法作用域,即函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的.函数对象可以通过作用域链关联起来,函数体内部的 ...

  10. QT解决中文乱码

    如果编译器在支持C++11的情况下,我们可以使用u8"XXXX" 如:QString str = u8"我是中文"; 这样就解决了中文乱码的问题,使用UTF-8 ...