OpenCV和OpenGL的异同

OpenCV和OpenGL的异同

OpenCV

  OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android、Mac OS操作系统上。轻量级且高效,由一系列C函数和少量C++类构成,同时提供了python、matlab等语言的接口。实现了图像处理和计算机视觉方面的很多通用算法。

  OpenCV是用C++语言编写的,其主要接口也是C++语言,但是依然保留了大量的C语言接口。具有python、Java和matlab接口,并支持Windows、Linux、Mac Os,OpenCV主要倾向于实现实时视觉应用,并在可用时利用MMX和SSE指令,如今也提供对于C#、Ch、ruby、GO的支持。

**BSD协议是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议公

OpenGL

  OpenGL是用于渲染2D、3D矢量图形跨语言、跨平台应用程序编程接口(API),这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。

  而另一种程序接口系统是仅用于Microsoft Windows上的direct3D

  OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。OpenGL的高效实现实例存在于Windows、部分Unix平台和Mac OS,这些显示由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。

  开放源代码库Mesa是一个纯基于软件图形API,其代码兼容于OpenGL

direct3D是微软封装的图形API,基于微软的通用对象模式COM(common object mode)的3D图形API;

OpenGL是开放的图形API。

Mesa是一个MIT许可证下开放源代码的三维计算机图形库,以开源形式实现了OpenGL的应用程序接口

OpenCV和OpenGL的区别

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

graphics.h是TC的针对DOS下的一个C语言图像库,使用时需要用TC的编译器来编译,VC++环境有其它的针对Window的图像库。分为:像素函数、直线和线型函数、多边形函数、填充函数等。

  • 16
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ufgnix0802

总结不易,谢谢大家的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值