OpenCV 入门

下载 PDF - GSM-OpenCV

使用准备

使用摄像头前,建议您先了解下载页面提供的以下资源:

摄像头入门指南 — 提供有关安装运行摄像头所需的组件和软件的信息。

摄像头技术参考 — 提供有关摄像头的规格、功能和操作以及成像和采集控件的信息。

固件更新 - 确保您使用最新版本的摄像头固件,以利用相关功能改进和漏洞修复。

安装 OpenCV

本文档描述 OpenCV 2.4.6 版本的使用步骤,也适用于更新的版本。 如果需要最佳结果,请下载最新版本。

  1. OpenCV 最新版本下载位置 https://opencv.org
  2. 在 C:\ 提取 OpenCV
  3. 在开始菜单右键单击计算机,然后选择属性。
  4. 在系统窗口左侧窗格,单击高级系统设置。
  5. 在系统属性对话框,单击高级选项卡的环境变量。
  6. 从系统变量列表选择名称为路径的变量,然后单击编辑。
  7. 在变量值字段末尾,输入
    ;C:\opencv\build\x64\vc10\bin
    对于 32 位 OpenCV 版本,请把 x64 更换为 x86。
  8. 点击 OK。

在 Visual Studio 中配置 OpenCV

添加 OpenCV 到 Visual Studio 项目,以执行图像处理。 下面的步骤概述了如何进行 Visual Studio 设置准备以便通过 Spinnaker、FlyCapture、LadybugCapPro 或 Triclops SDKs 使用 OpenCV。 选用示例针对 FlyCapture2 SDK。

  1. 下载并安装 SDK,本示例中是 FlyCapture2,可从下载页面获得。
  2. 在 Visual Studio 中打开其中一个示例源代码解决方案。 本文以 FlyCapture2Test 及 Visual Studio 2010 为例。
  3. 确保 Solution Explorer 配置中选定了调试。
  4. 右键单击项目,然后选择创建。
  5. 右键单击 FlyCapture2Test,然后选择属性。
  6. 在属性页面窗口,选择 VC++ 目录,然后从包含目录下拉菜单中选择编辑。
    nijy3guz.jpg
  7. 添加 C:\opencv\build\include,然后单击 OK。
  8. 从属性页面窗口的库目录下拉菜单中选择编辑。
  9. 添加 C:\opencv\build\x64\vc10\lib,然后单击 OK。
    注意:对于 32 位系统,请将 x64 更换为 x86。
  10. 从属性页面窗口选择连接程序→输入,然后从其他依赖关系下拉菜单中选择编辑。
  11. 添加以下库文件,然后单击 OK。
    opencv_calib3d246.lib
    opencv_contrib246.lib
    opencv_core246.lib
    opencv_features2d246.lib
    opencv_flann246.lib
    opencv_gpu246.lib
    opencv_highgui246.lib
    opencv_imgproc246.lib
    opencv_legacy246.lib
    opencv_ml246.lib
    opencv_nonfree246.lib
    opencv_objdetect246.lib
    opencv_photo246.lib
    opencv_stitching246.lib
    opencv_ts246.lib
    opencv_video246.lib
    opencv_videostab246.lib
    注意:如果您使用的是不同的 OpenCV 版本,请将版本更换为 246。
  12. 单击 OK 保存所有项目设置。
  13. 对于 FlyCapture:打开 FlyCapture2Test.cpp,然后添加 #include “cv.h.”
    对于 Spinnaker:打开 Spinnaker2CVMat.cpp,然后添加 #include "opencv2/highgui/highgui.hpp" 以及 "opencv2/imgproc/imgproc.hpp".

现在您可以在 FlyCapture2Test.cpp 或 Spinnaker2CVMat.cpp. 中添加自己的 OpenCV 代码。

OpenCV 样例代码

这些示例展示了如何将 FlyCapture、FlyCapture2 和 Triclops 的图像转换为 OpenCV 图像。

FlyCapture

FlyCap_to_IplImage.cpp 提供从 FlyCaptureImage 转换为 IplImage 的功能。

适用于:除 Gazelle 和 Cricket 外的所有 FLIR 机器视觉摄像头。

FlyCapture2

FlyCap2_to_IplImage.cpp 提供通过 FlyCapture2 SDK 从您的摄像头抓取图像并将其转换为 IplImage 的功能。

FlyCap2_to_MatImage.cpp 提供通过 FlyCapture2 SDK 从您的摄像头抓取图像并将其转换为 Mat Image 的功能。

适用于:除 Gazelle 和 Cricket 外的所有 FLIR 机器视觉摄像头。

Triclops

Triclops_to_IplImage.cpp 提供从 TriclopsImage 到 IplImage 的转换功能。

适用于:所有 FLIR 立体摄像头。

Ladybug

FC2_Ladybug_Image_to_IplImage.cpp 提供转换未压缩 Ladybug 图像的功能。

适用于:Ladybug 摄像头

Spinnaker

Spinnaker2CVMat.cpp 将 Spinnaker ImagePtr 类映射到 OpenCV Mat 容器。 经过测试的 OpenCV 版本是 2.4.13,拥有扩展名为 2413 的相同配置文件。 注意,imageptr 到 getData() 方法会返回填充,丢弃数据到 Mat 容器中时必须考虑到,以免容器溢出。

适用于:所有 FLIR 机器视觉 USB3 Vision 摄像头