“深入浅出”系列之算法篇:(2)openCV、openMV、openGL
OpenCV是一个的跨平台计算机视觉库,可以运行在Linux囚、Windows 和Mac OS操作系统上。它轻量级而且高效,由一系列 C函数和少量C++类构成,同时也提供了Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenMV是一个开源,低成本,功能强大的机器视觉模块。OpenMV上的机器视觉算法包括寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口。
OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)
是一套方便用户使用的规范,而其本身包含了调用不同厂商直接在GPU中写好的程序接口,那些接口完成所有的功能实现,如完成2D、3D矢量图形渲染等功能。
OpenGL(Open Graphics Library)和 DirectX 是两个用于图形渲染的开发接口。它们分别由不同的公司和组织开发,分别用于不同的操作系统和平台。
OpenGL:一个跨平台的图形渲染 API,可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。OpenGL 可以运行在各种图形硬件上,并且支持多种编程语言,如C++、Python等。
DirectX:Windows 平台专用,是由 Microsoft 开发的,主要用于 Windows 平台。因此,它是 Windows 游戏开发的首选 API。由于其与 Windows 平台的深度集成,DirectX 在与 Windows 系统的协同工作和性能优化方面可能会更好。不仅包括图形渲染功能,还包括音频、输入、网络等功能,使其成为一个全面的多媒体开发套件。
如何选择:
如果你的应用程序需要在多个操作系统上运行,那么 OpenGL 可能是更好的选择。如果你专注于 Windows 游戏开发,DirectX 可能更适合。
在上面的选择条件下如果你的应用程序不仅仅涉及图形渲染,还包括音频、输入等方面,那么 DirectX 可能更合适。
OpenMV是开源的机器视觉框架,而OpenCV是一种开源计算机视觉库,两者都是实现视觉应用的工具,不同的是OpenMV可以运行在MCU 上,而OpenCV可以运行在多种框架的CPU上,OpenMV的优势在于轻量化,但是处理高复杂图形信息和告诉图像能力的时候明显弱于OpenCV