赞
踩
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。有关于图像处理,视频处理等基本模块。还支持已有的目标检测算法的实现,DNN模块,机器学习模块。最新还有GPU-Accelerated Computer Vision (cuda module),即GPU加速模块。一个使用CUDA的GPU接口也于2010年9月开始实现。
Opencv既支持桌面端,Windows, Linux, Android, MacOS等,也支持移动端,Android, Maemo, iOS。
关于Opencv的接口的认识:(转载)
实际上Python和C++的OpenCV接口几乎一样,不同的是用C++的话,矩阵用的是cv::Mat,Python里面用的是numpy.array,用法和接口都不一样,但文档丰富,使用也非常方便,原理也相似。
效率方面,Python的接口实际上只是一层Binding,最终还是调用libopencv_*.so里面的函数,所以在OpenCV这一层效率与C++是完全一致的。唯一不同的就是它的numpy.array和cv::Mat。Numpy底层也是使用C Extension的方法写,但相比C++版的OpenCV接口,Python的接口需要把Numpy的数据转化成OpenCV的C接口可接受的输入。实测Python写的程序会慢,但具体慢多少并没有测试数据可支撑。
作者:钟宇腾
链接ÿ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。