致敬:

https://blog.csdn.net/zhongguoren666/article/details/6697025

http://www.elecfans.com/emb/603169_a.html

https://blog.csdn.net/mangobar/article/details/51006521

1概念比较

OpenCV =  Open Source Computer Vision Library

OpenGL = Open Graphics Library

OpenCL = Open Computing Language

DirectX = DirectX  ^_^

OpenCV主要是提供图像处理和视频处理的基础算法库,还涉及一些机器学习的算法。比如你想实现视频的降噪、运动物体的跟踪、目标(比如人脸)的识别这些都是CV的领域

OpenGL(或DirectX)是什么呢?是负责3D图形处理的API,包括各种光照、纹理、烟雾、阴影等效果。程序员在开发游戏的时候,只要考虑什么时候、在哪个位置,加上什么样的烟雾,就可以了。而不必考虑究竟要怎样去编写代码,才能实现烟雾效果的问题。

OpenCL呢?是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。那究竟怎样调用显卡呢?这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。

DirectX 特点:

1)除视频外,多了音频等其他功能。

2)DirectX通用些,OpenGL专业些。

3)仅用于Microsoft Windows

4)DirectX是左手定则,OpenGL是右手定则

Dx是微软做的一个超大的多媒体处理合集,包括音频,视频,direct3D只是其中之一
Dx做的音视频的采集和显示部分,算法涉及不多
Dx做的事都是和硬件有关系的,都要依赖硬件的,由于ms的强大,现在硬件大都支持dx
dx显示视频的时候没有通过gdi,是直接通过显卡实现的,非常的快。

后面主要比较OpenCV和OpenGL

通俗的说:
OpenCV:不知道实际空间,但是有图像,用来处理图像并把图像里面包含的空间信息提取出来。这是图像处理工作用的软件。
OpenGL:知道实际空间参数,要在计算机上把这个空间表达出来。这是计算机图形学的东西。
一个画家写生,看风景就需要OpenCV。。。素描就需要OpenGL。。。

学术的说:

两者的区别就是Computer Vision和Computer Graphics这两个学科之间的区别,前者专注于从采集到的视觉图像中获取信息,是用机器来理解图像;后者是用机器绘制合适的视觉图像给人看

对象类型:

OpenCV:图像

OpenGL:图形

2功能比较

各自功能

功能 opencv opengl
对2D的支持 主要2D, 主要3D,专注在Graphics,也支持2D
对3D的支持 一定程度支持3D。传统的视觉计算中,深度图只能当做单通道的灰度图进行处理。想实现隔空的多点触摸是绰绰有余,但是如果想实现三维重建(比如 Kinect Fushion)那么我们必须将算法升级到三维空间。相应的,三维空间的算法也需要三维的 API 进行渲染,也就是 OpenGL 很专业
主要函数 图像处理:降噪、运动物体跟踪、目标(比如人脸)识别、车道线识别 渲染
函数个数 500个左右? 350个左右?
操作系统 Windows,Linux Windows,Linux
硬件 CPU,通过扩展也支持GPU GPU,也支持CPU
同行软件   DirectX 3D
输入类型 是图像处理库,一般针对真实图像,比如摄像头、照相机获取的视频图像,标准化的图形数据(如JPEG, PNG, BMP) 更多的用于CAD、科学可视化程序,比如游戏,虚拟现实,输入点、线等
开发语言 基于C 基于C
开源
对点云的支持 一般结合PCL库或OpenGL 支持

相互关系:

增强现实(AR)应用中,既可能用到OpenCV,也可能用到OpenGL

由于显卡的能力增强,现在的 OpenCV 已经有新的形态了,即大量的运算位于显卡上。
运算通过 CUDA(显卡厂商NVIDIA推出的运算平台) 或 OpenCL。

渲染仍然需要通过 OpenGL

这意味着除了文件读写(highgui 模块)外,视觉应用可以逐渐脱离 CPU。

3历史比较

一、       OpenGL

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图像(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

没有OpenGL的时候,应用软件是这样开发的:
硬件A--硬件驱动A--应用软件A
硬件B--硬件驱动B--应用软件B
硬件C--硬件驱动C--应用软件C
有了OpenGL之后,应用软件是这样开发的:
硬件A--硬件驱动A--OpenGL--应用软件A
硬件B--硬件驱动B--OpenGL--应用软件A
硬件C--硬件驱动C--OpenGL--应用软件A

渲染概述:

OpenGL 中存在着一个三维坐标系,三个坐标满足右手定则。它的成像原 理就是将三维世界的物体和场景投影到二维平面。可以把它看成一个相机系统, OpenGL 调用者来说,只需要提供相机的位置和指向的方向,物体的位置,我 们得到相片后还可以对某一部分进行裁剪放大和缩小,然后摆放在相框中,这样 照相过程就完成了,这几个过程也是 OpenGL 成像的过程,分别对应 OpenGL 的 几个变换,视口变换,投影变换,位移变换,视点变换。程序中应该依次调用这 几个变换的 api,才能正确地完成渲染。但是实际上在运算时这几个变换的顺序 却是相反的。首先是视点变换,它确定了相机的位置朝向和正方向,然后是位移变换,这里包括平移和旋转,即计算出物体在世界坐标系中的位置。投影变换是三维世界投影到二维平面的过程。最后一个视口变换,是决定生成的图像如何在窗口上显示的过程。

1、 概述

OpenGL - 高性能图形算法行业标准

OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。

OpenGL的前身是SGI公司为其图形工作站开发的IRIS GL。IRIS GL是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是SGI公司便在IRIS GL的基础上开发了OpenGL。OpenGL的英文全称是“Open Graphics Library”,顾名思义,OpenGL便是“开放的图形程序接口”。虽然DirectX在家用市场全面领先,但在专业高端绘图领域,OpenGL是不能被取代的主角。

OpenGL是个与硬件无关的软件接口,可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此,支持OpenGL的软件具有很好的移植性,可以获得非常广泛的应用。由于OpenGL是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组。

在OpenGL的基础上还有Open Inventor、Cosmo3D、Optimizer等多种高级图形库,适应不同应用。其中,Open Inventor应用最为广泛。该软件是基于OpenGL面向对象的工具包,提供创建交互式3D图形应用程序的对象和方法,提供了预定义的对象和用于交互的事件处理模块,创建和编辑3D场景的高级应用程序单元,有打印对象和用其它图形格式交换数据的能力。

OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。

OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。

目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。

2、 OpenGL的发展历程

1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。

  1995年OpenGL的1.1版本面市,该版本较1.0性能提高许多,并加入了一些新的功能。包括提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。

  1997年,Windows 95下3D游戏的大量涌现,游戏开发公司迫切需要一个功能强大、兼容性好的3D图形接口,而当时微软公司自己的3D图形接口DirectX 3.0功能却是很糟糕。因而以制作《雷神之锤》等经典3D射击游戏而著名的id公司同其它一些游戏开发公司一同强烈要求微软在Windows 95中加入对OpenGL的支持。微软公司最终在Windows 95的OSR2版和后来的Windows 版本中加入了对OpenGL的支持。这样,不但许多支持OpenGL的电脑3D游戏得到广泛应用,而且许多在3D图形设计软件也可以运用支持OpenGL标准的3D加速卡,大大提高其3D图形的处理速度。

  2003年的7月28日,SGI和ARB公布了OpenGL 1.5。OpenGL 1.5中包括OpenGL ARB的正式扩展规格绘制语言“OpenGL Shading Language”。OpenGL 1.5的新功包括:顶点Buffer Object、Shadow功能、隐蔽查询、非乘方纹理等。

  2004年8月,OpenGL2.0版本发布~OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3Dlabs。opengl2.0支持OpenGL Shading Language、新的shader扩展特性以及其他多项增强特性。

  2008年8月初Khronos工作组在Siggraph 2008大会上宣布了OpenGL 3.0图形接口规范,GLSL1.30 shader语言和其他新增功能将再次未来开放3D接口发展指明方向。

  OpenGL 3.0 API开发代号为Longs Peak,和以往一样,OpenGL 3.0仍然作为一个开放性和跨平台的3D图形接口标准,在Shader语言盛行的今天,OGL3.0增加了新版本的shader语言:GLSL 1.30,可以充分发挥当前可编程图形硬件的潜能。同时,OGL3.0还引入了一些新的功能,例如顶点矩阵对象,全帧缓存对象功能,32bit浮点纹理和渲染缓存,基于阻塞队列的条件渲染,紧凑行半浮点顶点和像素数据,四个新压缩机制等等。

  2009年3月又公布了升级版新规范OpenGL 3.1,也是这套跨平台免费API有史以来的第九次更新。OpenGL 3.1将此前引入的OpenGL着色语言“GLSL”从1.30版升级到了1.40版,通过改进程序增强了对最新可编程图形硬件的访问,还有更高效的顶点处理、扩展的纹理功能、更弹性的缓冲管理等等。宽泛地讲,OpenGL 3.1在3.0版的基础上对整个API模型体系进行了简化,可大幅提高软件开发效率。

2009年8月Khronos小组发布了OpenGL 3.2,这是一年以来OpenGL进行的第三次重要升级。该版本仍然延续了OpenGL发展的方向让图形程序开发者能在多种操作系统和平台下更好的利用新的GPU功能。OpenGL3.2版本提升了性能表现、改进了视觉质量、提高了几何图形处理速度,而且使Direct3D程序更容易移植为OpenGL。除OpenGL之外,Khronos还将其开发的其它标准进行了协调改进,以求可以在更广泛的领域提供强大的图形功能和计算生态系统,这些标准包括用于并行计算的OpenCL、用于移动3D图形开发的OpenGL ES和用于网络3D开发的WebGL。

Khronos旗下的OpenGL ARB(Architecture Review Board)工作组推出了GLSL 1.5OpenGLShading Language(OpenGL着色语言)的升级版,以及在OpenGL3.2框架下推出了两个新功能,可以让开发者在开发新程序时能够在使用流水线内核特性或兼容性特性之间做出选择,其中兼容性特性会提供与旧版OpenGL之间的兼容性。

3、 OpenGL特点及功能

OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。它具有七大功能:

1)     建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。

2)     变换:OpenGL图形库的变换包括基本变换和投影变换。基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投 影两种变换。其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。

3)     颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。

4)     光照和材质设置:OpenGL光有辐射光(Emitted Light)、环境光(Ambient Light)、漫反射光(Diffuse Light)和镜面光(Specular Light)。材质是用光反射率来表示。场景(Scene)中物体最终反映到人眼的颜色是光的红绿蓝分量与材质红绿蓝分量的反射率相乘后形成的颜色。

5)     纹理映射(Texture Mapping)。利用OpenGL纹理映射功能可以十分逼真地表达物体表面细节。

6)     位图显示和图象增强图象功能除了基本的拷贝和像素读写外,还提供融合(Blending)、反走样(Antialiasing)和雾(fog)的特殊图象效果处理。以上三条可使被仿真物更具真实感,增强图形显示的效果。

7)     双缓存动画(Double Buffering)双缓存即前台缓存和后台缓存,简言之,后台缓存计算场景、生成画面,前台缓存显示后台缓存已画好的画面。

此外,利用OpenGL还能实现深度暗示(Depth Cue)、运动模糊(Motion Blur)等特殊效果。从而实现了消隐算法。

4、 Open GL现状

Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。最后,开放源码社区(尤其是Mesa项目)一直致力于为任何类型的计算机(无论它们是否使用微软的操作系统)提供Open GL支持。

08年8月正式公布OpenGL3.0版本。并且得到了,nv的支持,其官方网站上提供针对N卡的sdk下载。

目前,国内的三维游戏开发技术正处于赶超国外的关键时期,从创意、策划、研究开发与实现,到游戏的运营与维护,都有大量的知识值得学习和摸索。由于 Linux 操作系统平台的大力推广,基于Linux 的各种应用软件也不断壮大,因此基于跨平台图形库的跨平台三维游戏开发也越来越受重视。OpenGL(open graphics library)是一种独立的平台无关的三维图形开发库,在各种语言下进行主框架开发并结合应用OpenGL 函数都可以开发出三维游戏。但是由于框架开发的平台相关性使游戏无法跨平台编译运行,因此glut+OpenGL 的方式成了一种很好的选择。但是在对复杂框架和各种媒体的支持方面,glut 并不理想。在Linux 下可以采用FLTK 等框架平台技术实现包括按钮在内的比较复杂的框架功能,但是需要专门的Linux 开发环境,众多的Window 环境下的KDE 爱好者明显对此无法适从。相反,SDL(Simple DirectMedia Layer)作为免费的跨平台多媒体应用编程接口,已经被人们广泛用于开发二维游戏,其优秀的消息框架支持、文件支持和声音支持等都使得它成为能与微软DirectX 匹敌的最为成熟的技术之一。

5、 OpenGL 3.1规范

Khronos Group在2009年3月又公布了升级版新规范OpenGL 3.1,也是这套跨平台免费API有史以来的第九次更新。

OpenGL 3.1将此前引入的OpenGL着色语言“GLSL”从1.30版升级到了1.40版,通过改进程序增强了对最新可编程图形硬件的访问,还有更高效的顶点处理、扩展的纹理功能、更弹性的缓冲管理等等。宽泛地讲,OpenGL 3.1在3.0版的基础上对整个API模型体系进行了简化,可大幅提高软件开发效率。

OpenGL 3.1主要新特性:Texture Buffer Objects(纹理缓冲对象)、Uniform Buffer Objects(统一缓冲对象)、Signed Normalized Textures(符号正常化纹理)、Primitive Restart(基本元素重启)、Instancing(实例化)、CopyBuffer API(拷贝缓冲接口)……

与OpenGL 3.1规范同步,OpenGL架构评审委员会(ARB)也发布了一个兼容性扩展,能让开发人员在访问OpenGL 3.1里已经删除的OpenGL 1.x/2.x功能,确保应用程序的全面向下兼容性。

OpenGL 3.1公布后,业界图形厂商很快予以了大力支持。AMD OpenGL主管Suki Samra表示:“AMD全面用户OpenGL API,会在今后的Radeon和FirePro产品驱动程序中支持OpenGL 3.1。”NVIDIA市场营销副总裁Dan Vivoli表示:“NVIDIA承诺尽快部署OpenGL 3.1,我们也很自豪地在规范公布同一天放出了自己的测试版驱动程序。”

市场调研机构Jon Peddie Research预测,OpenGL 3.1规范图形硬件的安装规模将超过1亿。AMD、NVIDIA、S3 Graphics的显卡驱动目前都已经支持OpenGL 3.0。

6、 OpenGL与DirectX的区别

OpenGL 只是图形函数库。

DirectX 包含图形, 声音, 输入, 网络等模块。

OpenGL稳定,可跨平台使用。DirectX仅能用于Windows系列平台,包括Windows Mobile/CE系列以及XBOX/XBOX360。

二、       OpenCV

1、 为什么存在OpenCV

计算机视觉市场巨大而且持续增长,且这方面没有标准API,目前的计算机视觉软件大概有以下三种:

1)     研究代码(慢,不稳定,独立并与其他库不兼容)

2)     耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)

3)     依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)

这是目前的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。

2、 项目历史

1999年1月,CVL项目启动。主要目标是人机界面,能被UI调用的实时计算机视觉库,为Intel处理器做了特定优化。

2000年6月,第一个开源版本OpenCV alpha 3发布。

2000年12月,针对linux平台的OpenCV beta 1发布。

期间,继续各种研究。。。

2006年,支持Mac OS的OpenCV 1.0发布。

2009年9月,OpenCV1.2(beta2.0)发布。

2009年10月1日,Version 2.0发布。

OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

OpenCV 使用类BSDlisence,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。

OpenCV 为Intel Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的IPP 库, OpenCV 将在运行时自动加载这些库。

OpenCV提供的视觉处理算法非常丰富,并且他不分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,目前这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

3、 谁创建了它

作者列表可以在文件AUTHORS中找到。

此外,还有很多人给出了建议、补丁、BUG 报告等等。一个不太完整的列表在文件THANKS中。

4、 新特征

请参考OpenCVChangeLog。

5、 从哪里下载 OpenCV

访问 http://www.sourceforge.net/projects/opencvlibrary 。

如果有问题,在 Google (http://www.google.com )中输入 "OpenCV" 搜索。

4 未来比较

OpenGL

  OpenGL的发展一直处于一种较为迟缓的态势,每次版本的提高新增的技术很少,大多只是对其中部分做出修改和完善。1992年7月,SGI公司发布了OpenGL的1.0版本,随后又与微软公司共同开发了Windows NT版本的OpenGL,从而使一些原来必须在高档图形工作站上运行的大型3D图形处理软件也可以在微机上运用。1995年OpenGL的1.1版本面市,该版本比1.0的性能有许多提高,并加入了一些新的功能。其中包括改进打印机支持,在增强元文件中包含OpenGL的调用,顶点数组的新特性,提高顶点位置、法线、颜色、色彩指数、纹理坐标、多边形边缘标识的传输速度,引入了新的纹理特性等等。OpenGL 1.5又新增了“OpenGL Shading Language”,该语言是“OpenGL 2.0”的底核,用于着色对象、顶点着色以及片断着色技术的扩展功能。

  OpenGL 2.0标准的主要制订者并非原来的SGI,而是逐渐在ARB中占据主动地位的3DLabs。2.0版本首先要做的是与旧版本之间的完整兼容性,同时在顶点与像素及内存管理上与DirectX共同合作以维持均势。OpenGL 2.0将由OpenGL 1.3的现有功能加上与之完全兼容的新功能所组成(如图一)。借此可以对在ARB停滞不前时代各家推出的各种纠缠不清的扩展指令集做一次彻底的精简。此外,硬件可编程能力的实现也提供了一个更好的方法以整合现有的扩展指令。

  目前,随着DirectX的不断发展和完善,OpenGL的优势逐渐丧失,至今虽然已有3Dlabs提倡开发的2.0版本面世,在其中加入了很多类似于DirectX中可编程单元的设计,但厂商的用户的认知程度并不高,未来的OpenGL发展前景迷茫。

OpenCV

OpenCV 拥有包括 500 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

  OpenCV 使用类BSDlisence,所以对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。

  OpenCV 为Intel Integrated Performance PrimiTIves (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的IPP 库, OpenCV 将在运行时自动加载这些库。

  OpenCV提供的视觉处理算法非常丰富,并且他不分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以很多人用它来做算法的移植,OpenCV的代码经过适当改写可以正常的运行在DSP系统和单片机系统中,目前这种移植在大学中经常作为相关专业本科生毕业设计或者研究生课题的选题。

  OpenCV学术气息太强,功能虽多,但针对特定功能的优化不足,适合创建原型,不适合开发产品,所以也没什么前途——当然总比死掉的OpenGL有前途。

OpenCV、OpenGL、OpenCL和DirectX 的区别、联系、前景相关推荐

  1. OpenCV、OpenCL、OpenGL、OpenPCL

    对于几个开源库的总结,作为标记,以前看过,现在开始重视起来!更详细资料请移步 开源中国社区! 涉及:OpenCV,OpenCL,OpenGL,OpenPCL 截止到目前: OpenGL的最新版本为4. ...

  2. HEVC/H.265 的未来必须是使用并行处理(OpenCL?) OpenCV和OpenCL区别

    1 扩展库简介 OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库.它最初由Intel公司开发,以GPL许可协议发布,后来 ...

  3. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块

    参加OpenCV的OpenCL模块(以下称OCL)移植工作已经有2个月了.这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的.于是目前阶段OCL模块所支持的函数 ...

  4. 使用OpenCV的OpenCL(ocl)模块

    Preface 参加OpenCV的OpenCL模块(以下称OCL)移植工作已经有2个月了.这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的.于是目前阶段OCL ...

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

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

  6. opencv,opengl,osg,vulkan,webgL,opencL,cuda

    OpenCV OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS操作系统上. 它轻量级而且高效--由一系 ...

  7. android显卡效果吗,安卓模拟器显卡渲染模式中DirectX和OpenGL两个有什么区别?

    首先区别下2个模式: [速度上] DirectX 引擎: 优点:极大程度的发挥电脑性能,模拟器更流畅,运行速度快. 缺点:cpu使用率相对变高.适合单开用户. OpenGL引擎: 优点:占用资源更少, ...

  8. opengl与Directx的区别

    From: http://blog.163.com/xtdx888888@126/blog/static/2955727520083661133565/ OpenGL 只是图形函数库. DirectX ...

  9. openGL、D3D、vulkan区别简介

    跨平台之王--OpenGL OpenGL发展至今,已经有20余年,作为一个成熟并久负盛名的跨平台计算机图形应用程序接口规范,它被广泛使用在游戏.影视.军事.航空航天.地理.医学.机械设计,以及各类科学 ...

最新文章

  1. MindSpore整体架构介绍
  2. c语言温度查表程序,温度计C语言程序.doc
  3. Windows:利用各种小工具查看自己电脑上的CPUGPU型号、个数、详细参数等不同方法的详细攻略
  4. Python封装发送信息到钉钉群
  5. maven 排除pom依赖_Maven依赖排除 禁止依赖传递 取消依赖的方法
  6. Objective-C优缺点
  7. Datawhale组队-Pandas(下)分类数据(打卡)
  8. 现代软件工程系列 学生读后感 梦断代码 DTSlob (2)
  9. 我想成为计算机专业第一,我对计算机专业学生的忠告。
  10. Linux-lamp
  11. Linux Qt入门:工程构建笔记一
  12. 苹果 M1 Pro 和 M1 Max 与原始 M1 相比性能如何?
  13. Auto CAD指定线段长度和角度的方法
  14. 常用通信光缆型号是如何命名的
  15. 希尔排序--简单易懂图解
  16. 电压力锅中的计算机控制系统,电压力锅的(电脑板)工作原理
  17. java Eclipse 如何打开bin文件目录视图
  18. android 如何读取u盘中数据恢复,U盘数据恢复常见问题及恢复方法汇总
  19. window下解压tar.gz.part-*文件
  20. 2022-2028全球与中国业务流程管理(BPM)服务市场现状及未来发展趋势

热门文章

  1. 图像增强的几个方法以及Matlab代码
  2. Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
  3. asp.net apk文件不能直接下载的解决方法
  4. Java 1089 狼人杀
  5. darknet dll 问题
  6. 7位随机数生成-python代码
  7. 爪哇——初识Java
  8. 几何画板放大和缩小的方法
  9. android glide 清除缓存,安卓内存清理之Glide
  10. 【BZOJ1143】祭祀(网络流)