OpenCV 入门
使用准备
使用摄像头前,建议您先了解下载页面提供的以下资源:
摄像头入门指南 — 提供有关安装运行摄像头所需的组件和软件的信息。
摄像头技术参考 — 提供有关摄像头的规格、功能和操作以及成像和采集控件的信息。
固件更新 - 确保您使用最新版本的摄像头固件,以利用相关功能改进和漏洞修复。
安装 OpenCV
本文档描述 OpenCV 2.4.6 版本的使用步骤,也适用于更新的版本。 如果需要最佳结果,请下载最新版本。
- OpenCV 最新版本下载位置 https://opencv.org。
- 在 C:\ 提取 OpenCV
- 在开始菜单右键单击计算机,然后选择属性。
- 在系统窗口左侧窗格,单击高级系统设置。
- 在系统属性对话框,单击高级选项卡的环境变量。
- 从系统变量列表选择名称为路径的变量,然后单击编辑。
- 在变量值字段末尾,输入
;C:\opencv\build\x64\vc10\bin
对于 32 位 OpenCV 版本,请把 x64 更换为 x86。 - 点击 OK。
在 Visual Studio 中配置 OpenCV
添加 OpenCV 到 Visual Studio 项目,以执行图像处理。 下面的步骤概述了如何进行 Visual Studio 设置准备以便通过 Spinnaker、FlyCapture、LadybugCapPro 或 Triclops SDKs 使用 OpenCV。 选用示例针对 FlyCapture2 SDK。
- 下载并安装 SDK,本示例中是 FlyCapture2,可从下载页面获得。
- 在 Visual Studio 中打开其中一个示例源代码解决方案。 本文以 FlyCapture2Test 及 Visual Studio 2010 为例。
- 确保 Solution Explorer 配置中选定了调试。
- 右键单击项目,然后选择创建。
- 右键单击 FlyCapture2Test,然后选择属性。
- 在属性页面窗口,选择 VC++ 目录,然后从包含目录下拉菜单中选择编辑。
- 添加 C:\opencv\build\include,然后单击 OK。
- 从属性页面窗口的库目录下拉菜单中选择编辑。
- 添加 C:\opencv\build\x64\vc10\lib,然后单击 OK。
注意:对于 32 位系统,请将 x64 更换为 x86。 - 从属性页面窗口选择连接程序→输入,然后从其他依赖关系下拉菜单中选择编辑。
- 添加以下库文件,然后单击 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。 - 单击 OK 保存所有项目设置。
- 对于 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 摄像头