当前位置:网站首页>Rebuild my 3D world [open source] [serialization-2]
Rebuild my 3D world [open source] [serialization-2]
2022-07-05 08:55:00 【Li Yingsong~】
Today, I took some photos of the blue sky and white clouds in the park , Choose one to share with you
Follow the previous one for reconstruction 3D After the world series started , Bloggers are not resting , On the one hand, in the communication with friends , There are many suggestions for me Colmap replace OpenMVG To complete SFM part , The reason is that Colmap Of SFM than OpenMVG More stable , This makes bloggers have other ideas on the scheme , It's actually a choice Colmap+OpenMVS still OpenMVG+OpenMVS, Practice leads to true knowledge , I will compile at the same time Colmap and OpenMVG, Test some data to observe the results before making a decision , I will open another blog to sort out the test results .
Have to say ,Colmap The compilation of is really very troublesome , Compared with OpenMVG It seems very easy , I'm not only trying to compile myself these days , Also looking for a friend orange [ Big orange's blog ] Want a version that he compiles . The process is not easy .
In other words , Take advantage of the neutral position of compilation , We can't be idle , Rookie QT The road of practice is still long and far away , This article brings you some efforts and progress in the interface .
List of articles
1 The image can be controlled and previewed
As we mentioned earlier , stay UI Image loading and display are realized in , But this is only the first step , Some image interactions that must be followed , Including image pan and zoom , Are very basic functions . I overloaded the image view control , And rewrite the drawing function in the drawing event . For details, please refer to the source code QImgViewWidget Class implementation .
Besides , I also added the multi image preview function , In this way, you can have a preliminary browse of the entire image set , The preview image generation of the whole image set is relatively slow , So I rewrite an inheritance from QThread The preview of updates the thread class QUpdatePreviewThread To complete the generation of background preview .
Here is the specific operation demonstration video :
Rebuild my 3D The world : Image operation demonstration -1
To view HD video, please click : Rebuild my 3D The world : Image operation demonstration -1
2 The window can be adaptive
As QT rookie , Window adaptation was not done in the previous article , Mainly based on implementation modules , Now? , This part also adds , Operate the zoom of the whole main interface , The internal sub window will also change its size adaptively . Concrete , I overloaded in the main window resizeEvent Method , A size adaptation is made for all windows .
Here is the specific operation demonstration video :
Rebuild my 3D The world : Adaptive window demo -1
To view HD video, please click : Rebuild my 3D The world : Adaptive window demo -1
3 A little progress of the model display window
Model display window , Is based on OpenGL 3D display window , I'm also thinking about using existing mature rendering engines such as OSG, Or based on OpenGL A more primitive implementation of , Finally, I decided to use the latter for the time being , At the beginning, try to lighten it . The current development is to write an overload with QOpenGLWidget Window class of QModelViewGLWidget, And overloaded the basic rendering related methods, such as initializeGL、resizeGL、paintGL, But the specific implementation has not been completed .
4 Temporarily removed the right OpenCV and Eigen Dependence
The above said , At the beginning, I hope the whole project will remain light , At present, it is not used OpenCV and EIgen The place of , Maybe it will be added later , But for the time being, let's remove .
5 The source code has been updated
The above operation , I'm all in Github The warehouse is updated in real time , As you can pull Down to experience .
Project source code address :TellusBuilder
Interested students , It is suggested to click star and watch, Of course, based on my work, what I want to do in the future is also welcome fork ah .**
边栏推荐
- 某公司文件服务器迁移方案
- Wechat H5 official account to get openid climbing account
- Introduction Guide to stereo vision (1): coordinate system and camera parameters
- One dimensional vector transpose point multiplication np dot
- Guess riddles (11)
- Golang foundation -- map, array and slice store different types of data
- 使用arm Neon操作,提高内存拷贝速度
- kubeadm系列-00-overview
- kubeadm系列-01-preflight究竟有多少check
- Programming implementation of ROS learning 5-client node
猜你喜欢
Hello everyone, welcome to my CSDN blog!
[daiy4] copy of JZ35 complex linked list
Redis实现高性能的全文搜索引擎---RediSearch
Redis implements a high-performance full-text search engine -- redisearch
Shift operation of complement
Solutions of ordinary differential equations (2) examples
Guess riddles (7)
Digital analog 1: linear programming
Guess riddles (8)
Guess riddles (5)
随机推荐
Adaboost使用
Codeforces Round #648 (Div. 2) D. Solve The Maze
My university
图解网络:什么是网关负载均衡协议GLBP?
Hello everyone, welcome to my CSDN blog!
皮尔森相关系数
Basic number theory - fast power
混淆矩阵(Confusion Matrix)
C#【必备技能篇】ConfigurationManager 类的使用(文件App.config的使用)
Chris LATTNER, the father of llvm: why should we rebuild AI infrastructure software
Add discount recharge and discount shadow ticket plug-ins to the resource realization applet
Ros-11 common visualization tools
Confusing basic concepts member variables local variables global variables
深度学习模型与湿实验的结合,有望用于代谢通量分析
[code practice] [stereo matching series] Classic ad census: (6) multi step parallax optimization
[daily training] 1200 Minimum absolute difference
Halcon shape_ trans
容易混淆的基本概念 成员变量 局部变量 全局变量
Golang foundation - the time data inserted by golang into MySQL is inconsistent with the local time
ROS learning 4 custom message