当前位置:网站首页>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 .**
边栏推荐
- Basic number theory - fast power
- C# LINQ源码分析之Count
- 迁移学习和域自适应
- RT thread kernel quick start, kernel implementation and application development learning with notes
- Summary of "reversal" problem in challenge Programming Competition
- Mathematical modeling: factor analysis
- Halcon clolor_ pieces. Hedv: classifier_ Color recognition
- Oracle advanced (III) detailed explanation of data dictionary
- Business modeling of software model | overview
- EA introduction notes
猜你喜欢
深度学习模型与湿实验的结合,有望用于代谢通量分析
Attention is all you need
Halcon Chinese character recognition
2020 "Lenovo Cup" National College programming online Invitational Competition and the third Shanghai University of technology programming competition
Guess riddles (4)
Beautiful soup parsing and extracting data
TF coordinate transformation of common components of ros-9 ROS
牛顿迭代法(解非线性方程)
Huber Loss
Business modeling of software model | overview
随机推荐
[Niuke brush questions day4] jz55 depth of binary tree
Kubedm series-00-overview
[code practice] [stereo matching series] Classic ad census: (4) cross domain cost aggregation
The combination of deep learning model and wet experiment is expected to be used for metabolic flux analysis
[code practice] [stereo matching series] Classic ad census: (6) multi step parallax optimization
[牛客网刷题 Day4] JZ32 从上往下打印二叉树
Multiple linear regression (gradient descent method)
319. Bulb switch
Basic number theory -- Euler function
C#图像差异对比:图像相减(指针法、高速)
Summary of "reversal" problem in challenge Programming Competition
golang 基础 —— golang 向 mysql 插入的时间数据和本地时间不一致
RT thread kernel quick start, kernel implementation and application development learning with notes
asp.net(c#)的货币格式化
RT-Thread内核快速入门,内核实现与应用开发学习随笔记
OpenFeign
ABC#237 C
嗨 FUN 一夏,与 StarRocks 一起玩转 SQL Planner!
我从技术到产品经理的几点体会
Add discount recharge and discount shadow ticket plug-ins to the resource realization applet