当前位置:网站首页>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 .**
边栏推荐
- 容易混淆的基本概念 成员变量 局部变量 全局变量
- RT-Thread内核快速入门,内核实现与应用开发学习随笔记
- Use and programming method of ros-8 parameters
- scipy.misc.imread()
- ORACLE进阶(三)数据字典详解
- Guess riddles (9)
- One dimensional vector transpose point multiplication np dot
- 12. Dynamic link library, DLL
- ECMAScript6介绍及环境搭建
- Halcon color recognition_ fuses. hdev:classify fuses by color
猜你喜欢
Numpy pit: after the addition of dimension (n, 1) and dimension (n,) array, the dimension becomes (n, n)
It cold knowledge (updating ing~)
Programming implementation of ROS learning 2 publisher node
Solution to the problems of the 17th Zhejiang University City College Program Design Competition (synchronized competition)
My experience from technology to product manager
Use and programming method of ros-8 parameters
Guess riddles (11)
优先级队列(堆)
编辑器-vi、vim的使用
How to manage the performance of R & D team?
随机推荐
12、动态链接库,dll
Summary of "reversal" problem in challenge Programming Competition
深度学习模型与湿实验的结合,有望用于代谢通量分析
Count of C # LINQ source code analysis
Return of missing persons
Halcon blob analysis (ball.hdev)
Halcon: check of blob analysis_ Blister capsule detection
asp.net(c#)的货币格式化
Codeforces Round #648 (Div. 2) E.Maximum Subsequence Value
scipy.misc.imread()
Digital analog 2: integer programming
Guess riddles (11)
[code practice] [stereo matching series] Classic ad census: (5) scan line optimization
OpenFeign
319. Bulb switch
C# LINQ源码分析之Count
It cold knowledge (updating ing~)
Halcon Chinese character recognition
Mengxin summary of LIS (longest ascending subsequence) topics
ROS learning 1- create workspaces and function packs