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-3.3.0-android-sdk.zip
- opencv-3.3.0-ios-framework.zip
- opencv-3.3.0-vc14.exe
- Source code (zip)
- Source code (tar.gz)
转自 http://www.oschina.net/news/87496/opencv-3-3-0-released