“深入浅出”系列之算法篇:(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

相关推荐
tobias.b9 小时前
408真题解析-2010-7-数据结构-无向连通图
数据结构·算法·图论·计算机考研·408真题解析
良木生香10 小时前
【鼠鼠优选算法-双指针】003:快乐数 & 004:盛水最多的容器
算法
Cx330❀10 小时前
【优选算法必刷100题】第41-42题(模拟):Z 字形变换,外观数列
c++·算法
沃尔特。10 小时前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
CW32生态社区10 小时前
CW32L012的PID温度控制——算法基础
单片机·嵌入式硬件·算法·pid·cw32
Cx330❀10 小时前
【优选算法必刷100题】第038题(位运算):消失的两个数字
开发语言·c++·算法·leetcode·面试
漫随流水10 小时前
leetcode回溯算法(93.复原IP地址)
数据结构·算法·leetcode·回溯算法
燃于AC之乐10 小时前
我的算法修炼之路--5——专破“思维陷阱”,那些让你拍案叫绝的非常规秒解
c++·算法·贪心算法·bfs·二分答案·扩展域并查集·动态规划(最长上升子序列)
艾莉丝努力练剑10 小时前
【优选算法必刷100题】第021~22题(二分查找算法):山脉数组的峰顶索引、寻找峰值
数据结构·c++·算法·leetcode·stl
艾莉丝努力练剑10 小时前
【优选算法必刷100题】第007~008题(双指针算法):三数之和、四数之和问题求解
linux·算法·双指针·优选算法