qt地图开发源码_机器视觉三维软件开发 | 怎么入门?| 你知道如何学习吗

今天在这里讨论一下机器视觉三维软件开发方面的介绍,由于今年团队需要做机器视觉三维软件,其中涉及到三维显示部分,在这里也预言过几个方案,最终使用了Qt+Osg方案来做。

在机器视觉三维软件开源软件中,不得不提 CloudCompare,MeshLab两个开源库,都是使用Qt+Opengl来实现三维交互,下文把CloudCompare简称CC。

2e8df7a41dcf37392a0cb577e846385b.png

CC

cc20a0524b4b0a34dd306a096382232d.png

MeshLab

源码直接git clone URL 下来。

CC

CC有强大的点云处理功能,封装了OpenGL部分,CC定义了比较复杂的数据结构,自己看过一段时间源码,说实话没看懂,只是独立了渲染显示那部分, CC的显示在交互不复杂的情况下,比较好独立出来,直接显示三维数据即可,如果是你的应用软件有较多的交互,比如选择对象,对象操作,面片化等操作,你就很难独立出来了,复杂的数据结构,你加着加着你写的软件就改成了CC一样了,很难做成自己想要的风格,所以放弃了这个想法。

MeshLab

MeshLab以前使用过,只是会简单的操作,数学库vcglib里面封装了三角网格、四面体的控制处理以及封装了OpenGL显示部分,功能很强大, MeshLab是调用了vcglib的核心库实现,源码也看过一段时间,学习了一部分精华,目前没有完全看懂,未来的时间会继续研究,三维显示部分有用过vcglib里面一些。

CC跟MeshLab跟我的应用有较大的差异,我的应用是需要显示三维对象,能够对三维对象进行选择、操作、面片化等,直接使用CC和MeshLab比较难剥离数据结构,就放弃了。

选择Osg

为什么要选择Osg,因为Osg封装了Opengl的所有功能,OsgEarth就是通过OSG开发的一个地图应用,做地图开发的朋友应该都很熟悉,有兴趣的朋友可以看看。

我这边使用OSG来进行实现我的应用,就相对来说比较简单了,对象显示、对象选择、面片化等。

e96d0a840b72c6f8f1514ba28dbcfa9c.png

osgEarth

5a5367cbf62f614396616f41c4422cc2.png

osgEarth

快速入门Opengl

想快速学习入门opengl的朋友可以去learnOpenGL学习,做三维软件开发,需要对OpenGL有一定的理解以及矩阵的操作。

92e48a071e5e46233189a0d8a627499d.png

快速入门Opengl

FreeCAD

这也是一个三维CAD开源库,我对他无可奈何,不是专业做软件开发,看不懂,没有过多的研究,看了软件执行目录,boost、pcl、vtk、MKL、tbb等大名鼎鼎的库,如果有精力研究,这个开源软件肯定会学到不少东西!足以见UG、SolidWorks、Pro-E等三维软件的复杂度了,他们很多都是自己开发的,没有用开源的库,所以,别人的东西厉害啊

a4206887db881d604f1816d217a5a272.png

FreeCAD

Qt

要做三维软件开发,QT是必不可少的,OSG、MeshLab、CC、FreeCAD等都是QT编写的,并且这些软件或库都是跨平台,所以选择QT做应用软件开发,优势是非常明显的。

爱你不容易

我们的软件重在实现,没有能力和精力去过多的对软件进行修饰,最后选择QT+osg来实现,好在目前功能都实现了,也还可以。

机器视觉三维算法、软件是未来的趋势,需要不断学习加强!加油

写的比较乱,大家随意看看,欢迎拍砖,今年刚开始做三维视觉产品开发。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值