OpenCV、OpenVX、OpenCL、OpenGL简单理解

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库(主要操作对象是图像)。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。openCV 开源计算机视觉库,专注于从采集到的视觉图像中获取信息,是用机器来理解图像。

OpenVX 实现了跨平台加速处理,OpenVX在嵌入式和实时性系统中可以更好地发挥它的优势,在某些场合配合OpenCV的强大功能可以实现更好的效果。OpenVX和OpenCV并不冲突,他们可以说是互补的。OpenVX 目的方便不同的硬件平台,实现相同的接口。就像一个骨架,包含一些头文件声明了很多宏、枚举、变量类型、函数等等。OpenVX实现了计算机视觉处理中性能和能耗方面的优化,特别是嵌入式和实时应用案例中起到重要作用,例如面部、身体和动作跟踪,智能视频监控,高级驾驶协助系统(ADAS),物体和场景重建,增强现实,视觉检测,机器⼈学等等。OpenVX定义了比例如OpenCL™那些计算框架更高水平的执行抽象和内存模型,为在更多架构上的执行创新和高效执行带来重要意义,同时确保这是和以往一致的视觉加速API,完全实现应用可移植性。

OpenCL (Open Computing Language,开放计算语言) 是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分区和数据分区的并行计算机制。OpenCL 用机器绘制合适的视觉图像给人看。

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的应用程序接口(API)的规格,它用于生成二维、三维图像。这个接口由近三百五十个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。

你可能感兴趣的:(开源框架,opencv,计算机视觉,人工智能)