GithubHelp home page GithubHelp logo

3dom-fbk / openmvs-quadtree-priors Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 676 KB

License: GNU Affero General Public License v3.0

CMake 8.74% Python 0.63% C++ 90.30% Dockerfile 0.05% Shell 0.01% C 0.27%

openmvs-quadtree-priors's People

Contributors

3dom-fbk avatar roby23 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

zekeingithub

openmvs-quadtree-priors's Issues

Why the prior normal vector is not considered in the cost function formula of the paper?

Hello, I read your latest paper: "Multiple View Stereo with quadtree-guided priors", from which I benefited a lot.

However, I am a little confused about why the prior normal vector is not considered in the cost function formula of the paper.

This is also the case in your last paper (Semantically Derived Geometric Constraints for MVS
Reconstruction of Textureless Areas).
image

Is it because the prior normal vector is not accurate enough? Or some other reason?

I am very interested in your work, and thank you very much for sharing your code, it helps me a lot to learn!! Looking forward to your reply!

Wrong time to generate the quadtree split graph:The inl. HPP: 1481: error: (- 215: an Assertion failed) DataType< _Tp> ::channels == m.channels() || m.empty() in function 'operator='

Hello! Thank you very much for open source this code for us to learn.
But I ran into the following problem when generating the quadtree split graph:

Generating Priors...
*** quadTree.max_level: 10
terminate called after throwing an instance of 'cv::Exception'
What () : OpenCV (3.4.13)/usr/local/include/opencv2 / core/mat. The inl. HPP: 1481: error: (- 215: an Assertion failed) DataType< _Tp> ::channels == m.channels() || m.empty() in function 'operator='

Is there an opencv version conflict? What is your opencv version?
Based on the error, I locate the location of my opencv error file:

template<typename _Tp> inline
Mat_<_Tp>& Mat_<_Tp>::operator = (const Mat& m)
{
    if (m.empty())
    {
        release();
        return *this;
    }
    if( traits::Type<_Tp>::value == m.type() )
    {
        Mat::operator = (m);
        return *this;
    }
    if( traits::Depth<_Tp>::value == m.depth() )
    {
        return (*this = m.reshape(DataType<_Tp>::channels, m.dims, 0));
    }
    CV_Assert(DataType<_Tp>::channels == m.channels() || m.empty());
    m.convertTo(*this, type());
    return *this;
}

Running log:

xzx@xzx-legion-ren7000p:~/xu/openMVS-quadtree-priors/run$ python3 run.py /home/xzx/data/pipes /home/xzx/xu/openMVS-quadtree-priors/run/pipes
Using input dir  :  /home/xzx/data/pipes
     output_dir  :  /home/xzx/xu/openMVS-quadtree-priors/run/pipes
1. Densify point cloud
15:46:02 [App     ] Build date: Jan 17 2023, 13:03:36
15:46:02 [App     ] CPU: AMD Ryzen 7 5800 8-Core Processor               (16 cores)
15:46:02 [App     ] RAM: 23.41GB Physical Memory 65.37GB Virtual Memory
15:46:02 [App     ] OS: Linux 5.4.0-136-generic (x86_64)
15:46:02 [App     ] SSE & AVX compatible CPU & OS detected
15:46:02 [App     ] Command line: --input-file /home/xzx/data/pipes/scene.mvs -w /home/xzx/xu/openMVS-quadtree-priors/run/pipes/mvs -o /home/xzx/xu/openMVS-quadtree-priors/run/pipes/mvs/scene_dense.mvs --verbosity 2 --fusion-mode 0 --max-resolution 6400 --min-resolution 100 --estimate-normals 2 --number-views 10 --filter-point-cloud 0 --resolution-level 1 --number-views-fuse 2 --use-semantic 1 --max-threads 32
15:46:02 [App     ] Camera model loaded: platform 0; camera  0; f 0.551x0.551; poses 14
15:46:02 [App     ] Image loaded   0: DSC_0647.JPG
15:46:02 [App     ] Image loaded   1: DSC_0646.JPG
15:46:02 [App     ] Image loaded   2: DSC_0645.JPG
15:46:02 [App     ] Image loaded   3: DSC_0644.JPG
15:46:03 [App     ] Image loaded   4: DSC_0643.JPG
15:46:03 [App     ] Image loaded   5: DSC_0642.JPG
15:46:03 [App     ] Image loaded   6: DSC_0641.JPG
15:46:03 [App     ] Image loaded   7: DSC_0640.JPG
15:46:03 [App     ] Image loaded   8: DSC_0639.JPG
15:46:03 [App     ] Image loaded   9: DSC_0638.JPG
15:46:03 [App     ] Image loaded  10: DSC_0637.JPG
15:46:03 [App     ] Image loaded  11: DSC_0636.JPG
15:46:03 [App     ] Image loaded  12: DSC_0635.JPG
15:46:03 [App     ] Image loaded  13: DSC_0634.JPG
15:46:03 [App     ] Scene loaded from interface format (568ms):
	14 images (14 calibrated) with a total of 343.89 MPixels (24.56 MPixels/image)
	2473 points, 0 vertices, 0 faces
15:46:04 [App     ] Preparing images for dense reconstruction completed: 14 images (655ms)
15:46:04 [App     ] Selecting images for dense reconstruction completed: 14 images (0ms)

Generating Priors... 
*** quadTree.max_level: 10
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(3.4.13) /usr/local/include/opencv2/core/mat.inl.hpp:1481: error: (-215:Assertion failed) DataType<_Tp>::channels == m.channels() || m.empty() in function 'operator='

Looking forward to your reply!! Thanks!

how to fill each quadtree block with a random color?

Hello, I would like to ask you how to fill each quadtree block with a random color? I'm new to this field, and I don't quite understand quadtrees, can you give me some pointers? Your reply will affect my life, Please!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.