重建我的3D世界【代码开源】【连载-2】
今天拍了些园区的蓝天白云,挑选一张与君共享
继上一篇为重建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】相关推荐
- 最新发布!SMOKE 单目3D目标检测,代码开源!
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者| 黎国溥 编辑| 3D视觉开发者社区 SMOKE是一个one-stage的单目视觉障碍物检测模型 ...
- 如何用深度学习进行CT影像肺结节探测(附有基于Intel Extended Caffe的3D Faster RCNN代码开源)
近期宜远智能参加阿里天池医疗AI大赛,用3D Faster RCNN模型在CT影像的肺结节探测上,取得了较好的成绩,特别是在计算资源充足的情况下,模型效果表现优异.这是他们的经验分享(https:// ...
- delphi 实现屏幕旋转代码_代码检查 | 如何用Processing实现3D世界
一花一世界,一叶一菩提.每个人眼中的花是不一样的,每个人眼中的世界也是不一样的 .昔时佛祖拈花,惟迦叶微笑,既而步往极乐.在菩提树下,从一朵花中便能悟出整个世界,最终得升. 今天就来给大家介绍日本先生 ...
- 可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的
可以直接使用的4轴插补算法库,不是丢给你一堆grlb或者写字机或者3d打印的开源代码,本运控库上项目级别的,需要添加在自己的项目中,不支持gm码,只有运动控制核心代码,可以添加在自己项目中的,stm3 ...
- Open3DGen:从RGB-D图像重建纹理3D模型的开源软件
点云PCL免费知识星球,点云论文速读. 文章:Open3DGen: Open-Source Software for Reconstructing Textured 3D Models from RG ...
- 5秒手机猫片也能重建猫咪3D模型,Meta提出新算法为变形物体建模 | CVPR 2022
晓查 发自 凹非寺 量子位 | 公众号 QbitAI 众所周知,猫是一种液体. 这也给CVer带来了极大的烦恼:如何从2D视频中准确地对一只猫进行3D重建? 在很多情况下,3D重建模型得到的真是一滩液 ...
- 【深度学习】270篇CVPR 2020代码开源的论文,全在这里了!
整理不易,希望点个在看或者转发,支持一下 前言:1467篇 CVPR 2020 "不开源,就是耍流氓","开源,就是生产力",这是我们经常调侃的话术.因为我们经 ...
- 300+篇CVPR 2020代码开源的论文,全在这里了!
CVPR 2020代码开源项目一放出,得到不少CVers的关注,重点是:开源和根据方向分类.目前star数已经来到2000+,期间也有不少国内外的CVPR 2020论文作者提交issue,分享他们的工 ...
- 300+篇CVPR 2020代码开源的论文,全在这里了
300+篇CVPR 2020代码开源的论文,全在这里了! CVPR 2020代码开源项目一放出,得到不少CVers的关注,重点是:开源和根据方向分类.目前star数已经来到2000+,期间也有不少国内 ...
最新文章
- php 类示例,PHP类实例教程(二十二):类型提示
- javap查看class文件
- 操作系统(六)系统调用
- java把二维转换为一维_在R语言中什么函数可以将二维数组转换成一维数组
- MySQL 的发展历史和版本分支:
- 【无标题】线程池中阻塞队列的作用,为什么是先添加队列而不是先创建最大线程
- 调查谋杀案以换取Obra Dinn
- mysql explain的使用
- jQuery DataTables 插件使用笔记
- fromCharCode vs chr
- FreeMarker语法之表达式(二)
- 软件jmeter压力测试实例,jmeter压力测试案例实战
- 【QT学习之路】QThread的简单使用
- 33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作
- HDMI EDID timing详细解析
- 服务器装机选哪个系统好,服务器该装08系统好还是03系统好?
- YOLO v4 糅合方法记录
- LeetCode 714 买卖股票的最佳时机含手续费
- 如何1分钟实现身份实名认证功能?
- 【Other】希腊诸神大全-中英文名称
热门文章
- html中加号用什么表示,HTML基础-常用标签及属性
- Latex生成两种效果的表格
- 游戏建模实战教程:《黎明杀机》中的鬼武士,Maya和ZBrush制作全流程
- 《黑客与画家》读后感——不能说的话
- 女生教你如何追女孩子
- iOS开发·网络下载总结(NSURLConnection,NSURLSession,AFNetworking)
- 手把手教你个性化修改ChatGPT账号头像,纯干货,超简单
- 开源好用的 流程图绘制工具 drawio
- 《月亮与六便士》摘录
- python的dropna函数_Python学习教程:从Excel到Python最常用的32个Pandas函数(一)