今天拍了些园区的蓝天白云,挑选一张与君共享

继上一篇为重建3D世界系列开了个头之后,博主并没有歇着,一方面在和朋友们的交流中,有不少给我建议用Colmap替代OpenMVG来完成SFM部分,理由是Colmap的SFM要比OpenMVG更稳,这让博主在方案上有了其它想法,其实就是选择Colmap+OpenMVS还是OpenMVG+OpenMVS,秉着实践出真知的道理,我会同时编译Colmap和OpenMVG,测试一些数据来观察下结果再做决定,测试结果我会另开博客来整理。

不得不说,Colmap的编译确实是非常麻烦,相比而言OpenMVG显得十分容易,我这几天不仅自己再尝试编译,也在找朋友橙子[大橙子的博客] 要一个他编译好的版本。过程艰辛不表。

转言之,趁着编译的空挡,咱也不能闲着,菜鸟的QT练习之路还漫漫而修远,本篇就给大家带来在界面上的一些努力和进展。

文章目录

  • 1 图像可以控制和预览了
  • 2 窗口可以自适应了
  • 3 模型显示窗口的一点进展
  • 4 暂时移除了对OpenCV和Eigen的依赖
  • 5 源码更新了

1 图像可以控制和预览了

前面我们提到,在UI中实现了图像载入和显示,但这完全只是第一步,必须的一些图像交互也要跟上,包括图像平移缩放,都是很基础的功能。我重载了图像视图控件,并在绘制事件中重写了绘制函数。具体的大家可以参看源码的QImgViewWidget类实现。

此外,我还增加了多图预览功能,这样可以对整个图像集有一个初步的浏览,整个图像集的预览图生成相对较慢,所以我重写了一个继承于QThread的预览图更新线程类QUpdatePreviewThread来完成后台预览图生成。

这里是具体的操作演示视频:

重建我的3D世界:图像操作演示-1

查看高清视频请点击:重建我的3D世界:图像操作演示-1

2 窗口可以自适应了

作为QT菜鸟,窗口自适应上一篇并没有做,以实现模块为主,现在,这个部分也是加上了,操作整个主界面的缩放,内部的子窗口也会自适应的改变大小了。具体的,我在主窗口中重载了resizeEvent方法,对所有的窗口做了一个尺寸自适应。

这里是具体的操作演示视频:

重建我的3D世界:自适应窗口演示-1

查看高清视频请点击:重建我的3D世界:自适应窗口演示-1

3 模型显示窗口的一点进展

模型显示窗口,是基于OpenGL的三维显示窗口,我也在思考是用现有成熟的渲染引擎如OSG,还是基于OpenGL的较为原始的实现方案,最后我暂且先决定用后者,在开始还是尽量轻量化一些吧。目前的进展是写了一个重载与QOpenGLWidget的窗口类QModelViewGLWidget,并重载了基本的渲染相关方法如initializeGL、resizeGL、paintGL,但具体的实现还没有完成。

4 暂时移除了对OpenCV和Eigen的依赖

上面说到,在开始我希望整个工程还是要保持轻量,目前也没有用到OpenCV和EIgen的地方,可能后面会再加进来,但是暂且我们先移除。

5 源码更新了

以上操作,我都在Github仓库中实时的进行了更新,大家可以pull下来体验了。

工程源码地址:TellusBuilder

感兴趣的同学,建议先点上star和watch,当然想基于我的工作自己往后做的也欢迎fork啊。**

重建我的3D世界【代码开源】【连载-2】相关推荐

  1. 最新发布!SMOKE 单目3D目标检测,代码开源!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者| 黎国溥 编辑| 3D视觉开发者社区 SMOKE是一个one-stage的单目视觉障碍物检测模型 ...

  2. 如何用深度学习进行CT影像肺结节探测(附有基于Intel Extended Caffe的3D Faster RCNN代码开源)

    近期宜远智能参加阿里天池医疗AI大赛,用3D Faster RCNN模型在CT影像的肺结节探测上,取得了较好的成绩,特别是在计算资源充足的情况下,模型效果表现优异.这是他们的经验分享(https:// ...

  3. delphi 实现屏幕旋转代码_代码检查 | 如何用Processing实现3D世界

    一花一世界,一叶一菩提.每个人眼中的花是不一样的,每个人眼中的世界也是不一样的 .昔时佛祖拈花,惟迦叶微笑,既而步往极乐.在菩提树下,从一朵花中便能悟出整个世界,最终得升. 今天就来给大家介绍日本先生 ...

  4. 可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的

    可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的,需要添加在自己的项目中,不支持gm码,只有运动控制核心代码,可以添加在自己项目中的,stm3 ...

  5. Open3DGen:从RGB-D图像重建纹理3D模型的开源软件

    点云PCL免费知识星球,点云论文速读. 文章:Open3DGen: Open-Source Software for Reconstructing Textured 3D Models from RG ...

  6. 5秒手机猫片也能重建猫咪3D模型,Meta提出新算法为变形物体建模 | CVPR 2022

    晓查 发自 凹非寺 量子位 | 公众号 QbitAI 众所周知,猫是一种液体. 这也给CVer带来了极大的烦恼:如何从2D视频中准确地对一只猫进行3D重建? 在很多情况下,3D重建模型得到的真是一滩液 ...

  7. 【深度学习】270篇CVPR 2020代码开源的论文,全在这里了!

    整理不易,希望点个在看或者转发,支持一下 前言:1467篇 CVPR 2020 "不开源,就是耍流氓","开源,就是生产力",这是我们经常调侃的话术.因为我们经 ...

  8. 300+篇CVPR 2020代码开源的论文,全在这里了!

    CVPR 2020代码开源项目一放出,得到不少CVers的关注,重点是:开源和根据方向分类.目前star数已经来到2000+,期间也有不少国内外的CVPR 2020论文作者提交issue,分享他们的工 ...

  9. 300+篇CVPR 2020代码开源的论文,全在这里了

    300+篇CVPR 2020代码开源的论文,全在这里了! CVPR 2020代码开源项目一放出,得到不少CVers的关注,重点是:开源和根据方向分类.目前star数已经来到2000+,期间也有不少国内 ...

最新文章

  1. php 类示例,PHP类实例教程(二十二):类型提示
  2. javap查看class文件
  3. 操作系统(六)系统调用
  4. java把二维转换为一维_在R语言中什么函数可以将二维数组转换成一维数组
  5. MySQL 的发展历史和版本分支:
  6. 【无标题】线程池中阻塞队列的作用,为什么是先添加队列而不是先创建最大线程
  7. 调查谋杀案以换取Obra Dinn
  8. mysql explain的使用
  9. jQuery DataTables 插件使用笔记
  10. fromCharCode vs chr
  11. FreeMarker语法之表达式(二)
  12. 软件jmeter压力测试实例,jmeter压力测试案例实战
  13. 【QT学习之路】QThread的简单使用
  14. 33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作
  15. HDMI EDID timing详细解析
  16. 服务器装机选哪个系统好,服务器该装08系统好还是03系统好?
  17. YOLO v4 糅合方法记录
  18. LeetCode 714 买卖股票的最佳时机含手续费
  19. 如何1分钟实现身份实名认证功能?
  20. 【Other】希腊诸神大全-中英文名称

热门文章

  1. html中加号用什么表示,HTML基础-常用标签及属性
  2. Latex生成两种效果的表格
  3. 游戏建模实战教程:《黎明杀机》中的鬼武士,Maya和ZBrush制作全流程
  4. 《黑客与画家》读后感——不能说的话
  5. 女生教你如何追女孩子
  6. iOS开发·网络下载总结(NSURLConnection,NSURLSession,AFNetworking)
  7. 手把手教你个性化修改ChatGPT账号头像,纯干货,超简单
  8. 开源好用的 流程图绘制工具 drawio
  9. 《月亮与六便士》摘录
  10. python的dropna函数_Python学习教程:从Excel到Python最常用的32个Pandas函数(一)