Code Monkey home page Code Monkey logo

Comments (17)

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

With random camera movement, the stitching problem is not a mathematically well-defined problem at all. There is no elegant way to do this.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Thank you for the explanation.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Do you have suggested parameters in config.cfg if I stitch photos using a smart phone?
Also, you mention OpenMP in your code to speed up the running. Can I have it compiled just like compiling the Eigen or libjpeg?

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

No suggestions. It depends on how the stitching goes.
OpenMP is a feature of the compiler. If you use gcc or a sufficiently new clang it will be there.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Hi. Have you ever tried with other feature detectors? I saw there's a brief detector in your code. Have you tested its performance?

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

That's for fun only . It's never really used and not very useful.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Thank you for your patient reply. This is a very good program of panorama stitching from scratch. Have you ever programmed the same thing with OpenCV? How do you think of the performance of stitching API of OpenCV?

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

I think the stitching quality of OpenCV isn't very good. And it's slower.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Thx. I also think OpenCV is slow.

I find one more problem that: if I would like to stitch the images even though the overlap situation is bad, how should I change the code? Since I found a sentence that: Found a tree size 11!=12 when the overlap is not good.

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

You'll need more features or more matches. A number of configs can have this effect, but it's hard to say which to use without looking at the data.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Hello, thank you so much for the explations. I noticed that you mention RootSIFT in your blog. Is this change already included in your code?

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

yes

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

struct Edge {
int v1, v2;
float weight;
Edge(int a, int b, float v):v1(a), v2(b), weight(v) {}
bool operator < (const Edge& r) const { return weight < r.weight; }
};

Excuse me, I notice that you define a graph and use it in the file camera_estimate.cc. What are the nodes and edges representing? What is the purpose of the traverse here? Thank you.

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

Node is each image.
Edge is a matching pair. weight is how confident the matching is.
traverse gives an order to do bundle adjustment one image by one image.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

Thank you again.

from openpano.

Aozhi avatar Aozhi commented on June 3, 2024

One more question. In some cases the program will give the error "the tree size is != (a number)", "image n and image m are no connected well". In which case this error will occur?

from openpano.

ppwwyyxx avatar ppwwyyxx commented on June 3, 2024

When not all images are not in the same connected components in the graph, which means certain pairs of images are not matched very well. And there could be a lot of reasons for that..

from openpano.

Related Issues (20)

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.