编译OpenCV4.0 源码

本文详细介绍了如何在Ubuntu 18.04上编译OpenCV 4.0源码,包括OpenCV 4.0的改进、编译步骤和解决常见问题。内容涵盖深度学习和高性能计算的增强,如ONNX解析器、OpenVINO支持,以及编译环境的搭建和cmake命令。
摘要由CSDN通过智能技术生成

编译OpenCV 4.0源码

之前写过几篇关于OpenCV的博客,都是基于openCV 3.14写的,10月份OpenCV发布了4.0的bate版本,我就切换到4.0版本上来。之后的博客都会是基于4.0版本的。本文主要介绍一下三个方面的内容:

  • OpenCV 4.0的改进
  • 编译OpenCV 4.0源码的方法
  • 源码编译中遇到的问题及解决方法

这三方面的问题都是比较基础的,但是对于新手可能有些复杂。本文是在Ubuntu 18.04系统上进行编译,如果熟悉cmake可能会更好。

OpenCV 4.0的更新

4.0版本的改进主要集中在深度学习和高性能计算方面,一下包含4.0 alpha版本以来的改进:

  • 深度学习方面:

    • 将ONNX解析器添加到OpenCV DNN模块中,它能够支持AlexNet、Incepiton v2、Reset、VGG等分类网络。同时改进其导入器,能够支持更多拓扑
    • 屏蔽RCNN支持和示例
    • 修复了OpenCL后端的几个稳定性问题
    • 添加了Intel的开源工具OpenVINO,该工具包可以实现高性能计算机视觉和深度学习推理,并可跨多种类型的英特尔平台轻松实现异构执行。
  • 高性能计算方面:

    • 使用AVX2对60个kernels进行了加速优化,涉及18个功能
    • 针对iGPU加速了Kinect Fusion算法,在高高分辨率(512×521×512)上可达到并行CPU版本的3倍。
    • 使用C++ 11库,需要符合C++ 11标准的编译器,默认情况下可以使用一些更好的功能,例如parallel_for和lambda函数,方便迭代cv::Mat,通过列出他的元素初始化cv::Mat等。另外,parallel_for可以使用std::threads池作为后端。
    • 使用标准的std::string和std::shared_ptr代替cv::String和cv::ptr。
    • 添加了FP16支持(CV_16F)
    • 该版本中OpenCV 1.x的C API部分的被排除,在接下来的4.0 gold版本中将完成清理.

OpenCV 4.0 源码编译

OpenCV本身依赖很多库,所以首先要搭建编译环境。注意编译器需要支持c++ 11,例如g++。</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值