OpenCV/OpenCL/OpenGL区别与联系:

区别

OpenGLOpen Graphics Library,开放图像库)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟实境、科学可视化程序和电子游戏开发。特征:从数据到图像

OpenCL (Open Computing Language,开放计算语言) 是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分区和数据分区的并行计算机制。OpenCL类似于另外两个开放的工业标准OpenGL(跨平台图形API)和OpenAL(跨平台音效API),这两个标准分别用于三维图形和计算机音频方面。OpenCL扩充了GPU图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。

OpenCV(Open Source Computer Vision Library,计算机视觉库)是一个跨平台的计算机视觉库(主要操作对象是图像)。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。特征:从图像到数据

联系

OpenCV是 Open Source Computer Vision Library,是从图像到数据
OpenGL是 Open Graphics Library,是从数据到图像
OpenCV主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域
OpenGL则专注在Graphics,3D绘图。
其实两者的区别就是Computer Vision和Computer Graphics这两个学科之间的区别,前者专注于从采集到的视觉图像中获取信息,是用机器来理解图像;后者是用机器绘制合适的视觉图像给人看。

OpenGL和OpenCV的区别相关推荐

  1. OpenGL和OpenCV

    一.       OpenGL OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口的规格,它用于三维图像(二维的亦可).OpenGL是个专业的图形 ...

  2. Mac 配置支持 opengl 的 opencv 4.2

    本教程教大家如何在Mac环境下对opencv源码进行编译,并开启opengl支持.因为配置过程及其艰辛,基本没有现成教程,希望记录下来能帮到有需要的人.其他系统的其实流程更简单 一.准备工作 open ...

  3. NDK OpenGL与OpenCV实现大眼萌特效

    NDK​系列之OpenGL与OpenCV实现大眼萌特效,本节主要是在上一节OpenGL仿抖音极快极慢录制特效视频上增加大眼萌的特效. OpenGL视频特效系列: NDK OpenGL渲染画面效果 ND ...

  4. OpenCV,OpenGL,DirectX三者的区别

    OpenCV 算法合集,多用于图像识别,和matlab,CxImage这个两库功能相同 OpenGL 3D绘制,和direct3D做的是同一件事 DirectX 微软做的一个超大的多媒体处理合集,包括 ...

  5. OpenGL与OpenCV实现增强现实

    该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实.首先来看看我们使用的Marker: 这是众多Marker中的一个,它们都被一圈的黑 ...

  6. android逆透视变换坐标,android – 如何使用OpenGL模拟OpenCV的warpPerspective功能(透视变换)...

    我在Python和C中使用OpenCV完成了图像变形,看到可口可乐标志在我选择的角落里扭曲了: 使用以下图像: 还有这个: 我需要做到这一点,但在OpenGL中.我会: >角落里面我要映射扭曲的 ...

  7. WebGL和OpenGL的联系和区别

    WebGL和OpenGL的区别为:性质不同.插件支持不同.用途不同. WebGL WebGL的缩写为Web图形库.它主要用于渲染二维图形和交互式三维图形.它是可以与HTML5一起使用的Javascri ...

  8. OpenGL和D3D的区别

    (1)世界坐标系 OpenGL为右手坐标系    D3D为左手坐标系 (2)裁剪空间 OpenGL中z的范围:[-1.0, 1.0]     D3D为:[0.0, 1.0] (3)shader sha ...

  9. java opencv yuv_JavaCV与OpenCV的区别和使用中遇到的问题

    写这篇随笔的原因是因为我用了JavaCV一段时间后项目情况糟透了,可能大家很熟悉OpenCV,也有一部分人熟悉JavaCV,但是我相信真正把JavaCV用到生产上的不是太多. 我参与图片处理项目快一个 ...

最新文章

  1. 判断链表是否存在环(及其延伸)
  2. LVS原理详解(3种工作方式8种调度算法)--老男孩
  3. Windows 不能在 本地计算机 启动 SQL Server 。错误代码126.
  4. GPUImage简单说明
  5. Spring Cloud构建微服务架构:服务消费(Feign)【Dalston版】
  6. 安卓listview下拉刷新_安卓QQ内测教学,保证不让你走弯路
  7. python默认字体大小_python – 如何设置PIL加载的默认字体的大小,使其适合我的8×8矩阵?...
  8. 简单在于的acdsee 2012
  9. 注册商标需要多长时间
  10. 操作系统 第二章 进程管理
  11. 深度学习基础(三)—— 权值矩阵的初始化
  12. PC-启动慢的解决好方法!
  13. 常见方案 目录 1. 发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP, 1 2. 实现直播的方法有很多,但是常用的,就这几个。 3个直播协议:rtmp、rtsp、hls。 和三个端:
  14. html5 excel网页版,一种网页版EXCEL的实现方法与流程
  15. java的I/O流,开发教学第二章作业
  16. 五子棋PVP项目总结
  17. 手机屏幕按键测试软件,涨见识了——手机居然能作为维修检测工具来用!
  18. excel文档损坏打不开的原因是什么?
  19. 数据挖掘学习笔记3-贝叶斯与决策树
  20. 新一代iPhone后盖或将采用超级合金

热门文章

  1. 批量查看域用户登录计算机信息
  2. 【数据结构笔记15】优先队列、堆、最大堆、堆的操作(插入、删除、建立)与C实现
  3. redis 内存管理分析
  4. Android:ViewFlipper、幻灯片
  5. MySQL5.5编译工具configure向cmake过渡指南
  6. 如何分析竟争网站和优秀网站的设计风格
  7. python 标签字体大小_Python玩转Excel(第3期)~这里只有干货
  8. string转成对象_非常简单的string驻留池,你对它真的了解吗
  9. python打乱列表的方法_python打乱列表
  10. googletest,笔记20190821