OpenCV是 Open Source Computer Vision Library
OpenGL是 Open Graphics Library
OpenCV主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域
OpenGL则专注在Graphics,3D绘图。
其实两者的区别就是Computer Vision和Computer Graphics这两个学科之间的区别,前者专注于从采集到的视觉图像中获取信息,是用机器来理解图像;后者是用机器绘制合适的视觉图像给人看。
似乎没啥关系!
作者:李智辉
链接:https://www.zhihu.com/question/20212016/answer/14468287
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
完整版本回答参见专栏文章
OpenCV 为啥勾搭上 OpenGL? - 黑客与画家 - 知乎专栏
一个是最广泛使用开源的计算机视觉库
一个是三维工业标准
两者本毫无关系
不过自2.3开始,OpenCV的highgui模块开始支持OpenGL渲染
另外增强现实(AR)应用中,既可能用到OpenCV,也可能用到OpenGL
由于显卡的能力增强,现在的 OpenCV 已经有新的形态了,即大量的运算位于显卡上。
运算通过 CUDA 或 OpenCL
渲染通过 OpenGL
这两点意味着除了用户界面交互与文件IO外(highgui模块),可以逐渐脱离 CPU。
这才是 OpenCV 与 OpenGL 的真正关系,或者说 OpenCV 与显卡的真正关系。
作者:Vinjn张静
链接:https://www.zhihu.com/question/20212016/answer/14349503
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。