OpenCV,OpenGL,DirectX区别

GDI,图形设备接口,MS开发的通用的windows系统图形编程接口,功能强涉及面广,一般的编程都用它。但是用来做多媒体开发就差强人意了
OPENGL是SGI开发的一套三维图形软件包,出现很早,功能超强,且接口简洁,运算效率绘图效果极高,早期大都用在科研部门,运行在高性能计算机上。学术性较强,科研部门用的才多。曲高和寡,被DX抢了市场
DX,MS开发的三维绘图软件包,(里面也包括了,语音鼠标键盘加速包,还有视频、图象)。早期性能比DX差远了,但是通过操作系统的捆绑销售以及MS的大力市场推广,稳稳的占据了市场,并且经过不断的升级,现在性能上基本已经超过了OPENGL。基本绘图方法和OPENGL差不多,只不过接口采用COM方式,对于COM不了解的程序员来说上手有点难度。

学开发GDI是最基本的,学三维、学多媒体,就学DX吧。现在显卡基本都支持DX,支持OPENGL的已经很少了 ,不过OpenGL的3D图形处理确实很不赖,对OpenGL感兴趣的可以看一下Nehe的OpenGL教程中文版电子书,chm格式的,里面有48个课程讲解和相应的代码,对OpenGL初学者很不错,大家可以从我的资源网址http://download.csdn.net/detail/ccf19881030/2159345下载。另外对于DirectX学习的话推荐的是<<DirectX 9.0游戏开发编程基础>>和<<DirectX 3D图形与动画程序设计>>,后者已经差不多不发行了,其实后者代码很丰富的,可以上网搜一下电子版的。


桌面系统进行显示有几种方法:
总体说来是一种字节面向显卡,比如OpenGl,Dx,一种使用操作系统提供的组件GDI,GDI+等 

一般对于速度和效果要求不大的地方使用GDI系统就可以,GDI对硬件设备进行了封装,用户可以使用GDI结构来模拟硬件,具体的实现由操作系统完成,因为隔了一层虚拟机(操作系统),所以速度慢,但是画个窗体,字体,菜单,图片之内的是没有问题的 
GL和DX主要面向多媒体开发,比如视频播放和游戏,这些东西要求很好的显示效果,同时要能保证速度,比如视频至少的25fps,这要是GDI来画,你的电脑什么都不干都未必能完成,此时就要直接把数据送给显卡进行处理,并且充分利用显卡的处理和特效功能,这就是GL和Dx,DX叫Direct X其意义就是直接X. 
GL是第三方开源的图象库,而DX是微软的.据说Vista的桌面系统已经开始使用DX来显示窗口菜单等常见元素,因为他很漂亮,GDI来做会慢.


总结

1、OpenCV 算法合集,多用于图像识别,和matlab,CxImage这个两库功能相同;

2、OpenGL 3D绘制,和direct3D做的是同一件事,3D游戏了;

3、DirectX 微软做的一个超大的多媒体处理合集,包括音频,视频,direct3D只是其中之一;

     Dx做的音视频的采集和显示部分,算法涉及不多;

     Dx做的事都是和硬件有关系的,都要依赖硬件的,由于ms的强大,现在硬件大都支持dx;

     Dx显示视频的时候没有通过gdi,是直接通过显卡实现的,非常的快



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值