相比于OpenCV3.4的功能改进:
1.OpenCV DNN模块新增ONNX解析器,支持各种分类网络,比如AlexNet, Inception v2, Resnet, VGG 等。部分支持tiny YOLO v2 目标检测网络。
2.DNN模块新的改进
2.1)支持Mask RCNN并新增里对应例程!
2.2)使用Intel Inference Engine(Intel推断引擎),即Intel OpenVINO的一部分,使得目标检测更快!
2.3)改进OpenCL作为后端的稳定性。
3.快速的QR二维码检测,在Core i5 CPU 640*480分辨率的图像上可以达到约80FPS!后续OpenCV4.0正式版本将加入QR二维码的解码,使其成为完整的解决分方案。
4.通过所谓的“wide universal intrinsics”不断扩展SSE4,AVX2和NEON优化内核集,持续加速OpenCV!
另外,OpenCV4.0 alpha包含一些相比之前版本的独有特性:
1.C++ 11标准的支持(所以编译新版本需要C++11兼容的编译器)。所以许多非常nice的特性比如支持lambda函数的parallel_for,cv::Mat更加方便迭代访问,通过列出元素初始化cv::Mat都得到了默认支持。
2.标准的std::string和std::shared_ptr取代了原先版本的cv::String和cv::Ptr。 parallel_for现在可以使用std::threads线程池作为后端。
3.清理了OpenCV 1.x的旧版C API(CvMat,IplImage等),OpenCV4.0正式版将清理完成。
4.添加了基本类型16位浮点型(CV_16F ),这将对诸如对精度要求不高的比如深度学习的推断加速很明显。
5.CPU和GPU加速的KinFu实时三维密集重建算法添加到opencv_contrib中。
6.HPX加入并行计算的后端。
7.新的棋盘格(chessboard)探测器。
一、下载OpenCV4.0
直接到官网https://opencv.org/下载,直接就选择了最新版
然后根据自己的系统选择相应的选项。笔者这里选择的是win系统。
运行后指定位置可以得到相应的包以及文件里面各个子文件
二.配置环境变量
笔者是win10的系统,如果是其他系统,读者可自行查阅其他的系统属性,虽然可能会步骤不一样,但是最后都是对系统的环境变量进行编辑。
打开控制面板-》系统安全-》系统-》高级系统设置
然后打开环境变量
到了这一步,说明系统的环境变量已经完成了。
三.编译器的环境变量配置。
打开VS2017,新建一个C++的项目。
在项目里面新建一个cpp源文件
新建完C++的文件后,选择视图-》其他窗口-》属性管理器
然后可以得到下图:
这个与你编译的环境相关,我一般都是
所以我选择Debug+x64,选择右击
点击确定,接着在选择库目录
配置完成后点击确定,再选择链接器。
这个位置要注意,这里需要手动添加,并找到相应的位置,也是和opencv3.x不同的地方
在vc14-》lib,opencv_world400.lib和opencv_world400d.lib
在vc15-》lib也有同样的lib,链接器里面没有路径之分,所以笔者这里猜测应该填一个文件下的lib就行。
填完后,点击确定就行。
四.测试环节
#include <iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
//读取本地的一张图片便显示出来
Mat img = imread("dota.jpg");
imshow("测试窗口", img);
waitKey(0);
return 0;
}
最后要提醒的是,关于之前已经安装过opencv其他版本的话,要删除依赖项里面的以往版本的lib。不然会报错。点击此处删除