OpenCV 3.3.0 发布,改进对深度学习模块的支持 - 开源中国社区
Float_left Icon_close
OpenCV 3.3.0 发布,改进对深度学习模块的支持
局长 2017年08月07日

OpenCV 3.3.0 发布,改进对深度学习模块的支持

局长 局长 发布于2017年08月07日 收藏 13

阿里云高性能云服务器,2折起! >>> >>>  

OpenCV 3.3.0 已发布,新版本大幅度改进了深度学习模块,并带来了大量的优化。

OpenCV 3.3 使用了加速的 dnn 模块,并将其移动到了主存储库,这也是首次在 OpenCV 中出现 Halide,带来了多项优化和其他的改进。

除此之外,还有对 C++ 11 方面的支持:

  • OpenCV 现在可以作为 C++ 11 库配置和构建。通过传输 -DENABLE_CXX11=ON 到 CMake 以启用该功能。在一些现代的 Linux 发行版上,这是默认启用的,如 Fedora。

  • 为 C++ 11 用户添加了新特性

// 1. use parallel_for_ with lambda to compute Mandelbrot fractal
parallel_for_(Range(0, img.rows*img.cols), [&](const Range& r) {
    for (int r = r.start; r < r.end; r++) {
        int i = r/img.cols, j = r%img.cols, t, maxiter=500;
        complex<float> z0(j * 2.7f/img.cols – 2.1f,
                          i * 2.4f/img.rows – 1.2f);
        for (t = 0; t < maxiter; t++) {
            if (z.real()*z.real()+z.imag()*z.imag()> 4.f) break;
            z = z*z + z0;
        }
        img.at<uchar>(i, j)=uchar(sqrt((float)t/maxiter)*255);
}});

// 2. using C++ 11 initializers
auto A = Mat_<double>({0, -1, 0, -1, 5, -1, 0, -1, 0}).reshape(1, 3);
Vec_<int, 10> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

// 3. apply LUT to 8-bit image in C++ 11 style
Mat_<Vec3b> img = imread("lena.jpg");
for( auto& pixel: img ) {
    pixel[0] = gamma_lut[pixel[0]];
    pixel[1] = gamma_lut[pixel[1]];
    pixel[2] = gamma_lut[pixel[2]];
}

更新内容较多,详情请参阅更新日志

下载地址:

OpenCV 是 Intel 开源的计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个 C 函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。

OpenCV 为 Intel Integrated Performance Primitives (IPP) 提供了透明接口。这意味着如果有为特定处理器优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:OpenCV 3.3.0 发布,改进对深度学习模块的支持
分享
评论(1)
最新评论
0
坐等conda更新
顶部