一、OpenCv简介
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在 Linux、Windows、Android 和 Mac OS 操作系统上。
它轻量级而且高效,由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV 用 C++ 语言编写,它具有 C++,Python,Java 和 MATLAB 接口,主要倾向于实时视觉应用,并在可用时利用 MMX 和 SSE 指令, 如今也提供对于 C#、Ch、Ruby,GO 的支持。
二、Windows下编译安装
笔者以前是用传统的 CMake 编译 VS2015 版本的源码,具体过程可以参考:OpenCV3.4.1+opencv_contrib编译:windows 10
现在这里选择用 Vcpkg 来编译安装,除了最开始安装配置 Vcpkg 麻烦了些,配置好后只需执行一行安装库的命令,安装好后即可直接在 VS 上调用运行了,速度非常快,当然这都建立在 “网络良好” 的情况下。
具体 Vcpkg 的安装可以参考我的另一篇博客:C++开源库 - 包管理工具Vcpkg安装使用教程
要执行的安装库命令为:
$ ./vcpkg.exe install opencv3:x64-windows
安装过程稍微有点长,因为要先安装 OpenCv 的一些依赖库,例如 libjpeg、msys、tiff 等库。
三、示例:opencv打开笔记本摄像头
#include#includeusing namespace std; using namespace cv; int main(int argc, char* argv[]) { // 网络摄像机的rtsp url const char* inUrl = "rtsp://test:test123456@192.168.1.64"; VideoCapture cam; namedWindow("video"); // if(cam.open(inUrl)) // 1.打开网络摄像机的rtsp url if (cam.open(0)) // 2.打开本地系统摄像机 { cout << "open camera success!" << endl; } else { cout << "open camera failed!" << endl; waitKey(1); return -1; } // 循环读取每帧frame,并在窗口显示 Mat frame; for (;;) { cam.read(frame); imshow("video", frame); waitKey(1); } return 0; }