发布于 2017-08-07 00:48:59 | 265 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的Python-OpenCV 图像与视频处理教程,程序狗速度看过来!
OpenCV 跨平台计算机视觉库
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
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]]; }
更新内容较多,详情请参阅更新日志。
下载地址: