算力平台opencv
Ⅰ opencv与哪个关联性更大 C还是C++ 是面向对象还是面向过程
openCV2.0以后增加了对C++风格代码的兼容。
我用的是VS2008+OPENCV2.1,所有的函数他都是有的,可以直接调用。另外,MEANSHIFT已经有改进算法了,可以看一下~~
诚恳建议学完数据结构再去看OPENCV
openCV的官网:http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5,资料非常全
Ⅱ 请问opencv是什么
OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库.
无论你是做科学研究,还是商业应用,opencv都可以作为你理想的工具库,因为,对于这两者,它完全是免费的。
该库采用C及C++语言编写,可以在windows, linux, mac OSX系统上面运行。该库的所有代码都经过优化,计算效率很高,因为,它更专注于设计成为一种用于实时系统的开源库。opencv采用C语言进行优化,而且,在多核机器上面,其运行速度会更快。它的一个目标是提供友好的机器视觉接口函数,从而使得复杂的机器视觉产品可以加速面世。该库包含了横跨工业产品检测、医学图像处理、安防、用户界面、摄像头标定、三维成像、机器视觉等领域的超过500个接口函数。
同时,由于计算机视觉与机器学习密不可分,该库也包含了比较常用的一些机器学习算法。或许,很多人知道,图像识别、机器视觉在安防领域有所应用。但,很少有人知道,在航拍图片、街道图片(例如google street view)中,要严重依赖于机器视觉的摄像头标定、图像融合等技术。
近年来,在入侵检测、特定目标跟踪、目标检测、人脸检测、人脸识别、人脸跟踪等领域,opencv可谓大显身手,而这些,仅仅是其应用的冰山一角。
如今,来自世界各地的各大公司、科研机构的研究人员,共同维护支持着opencv的开源库开发。这些公司和机构包括:微软,IBM,索尼、西门子、google、intel、斯坦福、MIT、CMU、剑桥。。。。
Ⅲ opencv3.0新增了什么功能
OpenCV 2.0已经发布5年了,它带来了全新的C++接口,标志着这个项目的开始。在2.0的整个生命周期中,我们增加了新的平台支持,包括iOS和Andriod,通过CUDA和OpenCL实现了GPU加速,为Python和java用户提供了接口,基于github和buildbot构建了充满艺术感的持续集成系统,所以才有了稳定的OpenCV 2.4.x,它被全世界的很多公司和学校所采用。
现在,我们很高兴地宣布3.0时代的开始(OpenCV 3.0 release 预计会在今年圣诞节左右发布)。在3.0时代不会有像2.0时代一样激进的尝试,它有足够稳定的改进,这为我们,也为你们以及伟大的OpenCV社区带来了许多全新的机会。请查看更新日志,我们简要说几点。
1. 项目架构的改变。
最初的时候,OpenCV是一个相对整体的项目,都是以整体的形式构建和装配,在很多年的时间里,这都是一个很好的策略。然而,随着功能的增加,包括bleeding-edge算法发布前的几分钟,一个pull请求提交到我们的仓库,越来越多的贡献者(非常感谢你们),我们决定像其他大项目一样,抛弃整体架构,使用内核+插件的架构形式。
除了我们的主仓库和增加的”test data“仓库,我们还有了http://github.com/itseez/opencv_contrib,这里有很多让人兴奋的功能,包括你们已经知道的面部识别和文本探测,还包括文本识别、新的边缘检测器、充满艺术感的修复、深度地图处理、新的光线流和追踪算法等。
opencv与opencv_contrib之间的区别是:
他们都由我们的持续集成系统维护,尽管opencv_contrib的单元测试并不常规运行。
全部或者一些额外的模块可以用我们的构建系统构建,把OPENCV_EXTRA_MODULES_PATH=/moles传递给CMake。
contrib的文档是自动生成的,可以在docs.opencv.org/master获得,它会在OpenCV 3.0 beta版本的时候更加完善、并发布。
主OpenCV是Itseez支持的代码,有非常稳定的API以及一点点创新。
opencv_contrib是大多数实验性代码放置的地方,一些API可能会改变,我们欢迎贡献者贡献你们新的精彩算法。
2. 感谢Intel和AMD公司的支持,我们让很多视觉算法实现的GPU加速,并且对于用户来说,都是十分易得的。这个技术可以称之为T-API (“transparent API”),关于这个话题的单独指南在准备当中,仍然非常欢迎你来看一下,试一下我们的T-API的例子,研究一下它如何工作。
3. Intel公司还给了我们另一份大礼。IPP的一个子集默认接入OpenCV,用户可以轻松得到。其中包含了可以将使用IPP加速的OpenCV再次分发的许可。如下图所示,在IPP的帮助下,很多函数都实现了显著的加速。
4. 最后,OpenCV 3.0带来了很新的功能,这是其中的一部分:
Text detection and recognition by Lluis Gomez
HDR by Fedor Morozov and Alexander Shishkov
KAZE/A-KAZE by Eugene Khvedchenya, the algorithm author Pablo Alcantarilla and some improvements by F. Morozov.
Smart segmentation and edge-aware filters by Vitaly Lyudvichenko, Yuri Gitman, Alexander Shishkov and Alexander Mordvintsev
Car detection using Waldboost, ACF by Vlad Shakhuro and Nikita Manovich
TLD tracker and several common-use optimization algorithms by Alex Leontiev
Matlab bindings by Hilton Bristow, with support from Mathworks.
Greatly extended Python bindings, including Python 3 support, and several OpenCV+Python tutorials by Alexander Mordvintsev, Abid Rahman and others.
3D Visualization using VTK by Ozan Tonkal and Anatoly Baksheev.
RGBD mole by Vincent Rabaud
Line Segment Detector by Daniel Angelov
Many useful Computational Photography algorithms by Siddharth Kherada
Shape descriptors, matching and morphing shapes (shape mole) by Juan Manuel Perez Rua and Ilya Lysenkov
Long-term tracking + saliency-based improvements (tracking mole) by Antonella Cascitelli and Francesco Puja
Another good pose estimation algorithm and the tutorial on pose estimation by Edgar Riba and Alexander Shishkov
Line descriptors and matchers by Biagio Montesano and Manuele Tambourin
Myriads of improvements in various parts of the library by Steven Puttemans; thank you a lot, Steven!
Several NEON optimizations by Adrian Stratulat, Cody Rigney, Alexander Petrikov, Yury Gorbachev and others.
Fast foreach loop over cv::Mat by Kazuki Matsuda
Image alignment (ECC algorithm) by Georgios Evangelidis
GDAL image support by Marvin Smith
RGBD mole by Vincent Rabaud
Fisheye camera model by Ilya Krylov
OSX framework build script by Eugene Khvedchenya
Multiple FLANN improvements by Pierre-Emmanuel Viel
Improved WinRT support by Gregory Morse
Latent SVM Cascade by Evgeniy Konov and NNSU team (awaiting integration)
Logistic regression by Rahul Kavi
Five-point pose estimation algorithm by Bo Li
Ⅳ CUDA,OPENCV,GPU,CPU这几者有什么关系,能通俗地解释下各自是什么东西吗
OPENCV为常用的图像库
CPU就不用说了吧
GPU(Graphic Processing Unit)图形处理器,是相对于CPU的一个概念
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台
Ⅳ opencv是干什么的
OpenCV是一款由Intel公司俄罗斯团队发起并参与和维护的一个计算机视觉处理开源软件库,支持与计算机视觉和机器学习相关的众多算法,并且正在日益扩展。
OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。
作用:
OpenCV是一个基于BSD许可发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。OpenCV在计算机视觉的发展中发挥了重要的作用,使成千上万的人能够在视觉上做更多的工作。OpenCV允许学生,研究人员,专业人员和创业者高效地实施项目,并通过向他们提供可在多种平台上优化的计算机视觉架构。
Ⅵ QT平台下使用opencv实现1.监控报警(画面出现动的场景),2.速度计算,3.人脸识别
示例代码没有,人脸识别opencv有专门的函数来处理
速度计算也是对图片从静-》动-》静的时间的一个计算
我做的那个时候摄像头太TM烂,时间算不准
Ⅶ OpenCV和Emgu CV什么关系
Emgu CV是.NET平台下对OpenCV图像处理库的封装,也就是.NET版的OpenCV。两者的版本的话,你可以看一下你的Emgu CV安装文件里面的bin文件夹(我的是D:\Emgu\emgucv-windows-x86 2.2.1.1150\bin)下引用的OpenCV的dll,可以由此判断出封装的是哪个版本。比如我的里面的opencv_core220.dll应该对应的OpenCV的2.2版本,所以封装的应该就是这个版本。这是我的理解,你可以参考一下。
Ⅷ openni,opencv,opengl这三个到底是什么有什么关系做什么用
貌似开源,github上有源码。功能上整体看应该没有Kinect SDK好,但跨平台,免费。当然也支持一些类似kinect的产品,详见OpenNi的背后公司primesense
OpenCV主要用于图像处理、图像分析、机器视觉和一些模式识别。内容丰富,使用很广泛。就是一系列的库,实现了处理图像、让机器理解图像内容和利用图像建立3维世界描述的功能。
OpenGL就是工业标准的显示API,定义了一系列的函数,调用这些函数就可以来操作显卡,实现画2维3维图片。当然不同的显卡公司,会根据自己的显卡和GPU来具体实现这些函数。
Ⅸ EmguCV学习 与opencv的区别和联系
openCV是因特尔的一个开源的视觉库,里面几乎包含了所有的图像处理的经典算法,并且采用C和少量的C++编写,运行效率很高,对于做图像处理这方面工作的,认识opencv是必须的工作。不过opencv有个很大的不足,这在于它几乎没有提供gui这方面接口,很难满足目前应用程序开发的需要,而万恶的MFC框架丑陋的界面也成为了我的噩梦,MFC与opencv和界面优化几乎让我在图像处理这一块儿无法动弹。
C#是.net平台上的明星语言,可以很容易做出漂亮的界面。EmguCV是将opencv封装的一个.net库可以被VC++,VC#,VB.net调用。网上对于EmguCV的介绍很少,不是因为它没用,而是因为它的使用方法几乎和opencv一摸一样,opencv的资料完全可以直接用于EmguCV。不过不少新手在使用EmguCV在使用几次之后便放弃。这有以下几个原因:
1.舆论影响,很多人都说C#的运行效率低,采用C/C++,opencv是C和C++编写的,理所当然应该在VC++中运行,图像处理又是一个计算量很大的工作,C#不行。C#运行效率肯定比C/C++差,但是采用混合编程的方法就可以啦,用C#的框架和运行机制,计算交给C就好啦。EmguCV很多处理函数都是采用托管调用opencv。这个在EmguCV的安装包里可以看到,里面含有所有Opencv的dll。
2.缺少资料,学习受挫而放弃(我放弃这个大概有半年)。不得不承认EmguCV方面的学习资料实在是太少啦。很多时候出现问题,在网上基本上找不到答案。而且EmguCV前期版本对opencv封装不全面,很多基本的函数没有被封装,使用起来很不方便,网上很多人以讹传讹,编写很困难。不过使用2.3版本就没有这个问题,opencv基本函数都得到了很好的封装。opencv图像处理的函数都封装在cvInvoke中。
而Image<>结构是连接opencv与emgucv的重要桥梁。其中C#的Intptr类型可以很好地传递IplImage*指针结构,下面我用一个实验来验证我的判断。
创建一个winform工程,添加一个button和picturebox控件
当然如果只是简单的canny算法,使用EmguCV封装的结构Image<>更加简单,将代码如下图所示修改