Comments (17)
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.
Thank you for the explanation.
from openpano.
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.
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.
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.
That's for fun only . It's never really used and not very useful.
from openpano.
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.
I think the stitching quality of OpenCV isn't very good. And it's slower.
from openpano.
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.
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.
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.
yes
from openpano.
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.
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.
Thank you again.
from openpano.
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.
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)
- fdup: Undeclared identifier HOT 2
- 请问拼接的图形出现重影能处理么 HOT 1
- Remove unnecessary null pointer checks
- 数据集的制作?
- HOW TO RUN IN MAC (2022) -compiler issues HOT 2
- error:Failed to find hfactor HOT 1
- 请问一下超过4k分辨率的图像拼接会有明显的重影的话,应该往哪个方向优化呢
- 在windows vs2015上配置问题 HOT 7
- 双目AI球型摄像机拼接 HOT 1
- CImg critical errors
- 为什么会出现error link 2001和error link 2019?
- About Panorama Stitching?
- TRANS模式下,扫描平面的图像队列,拼接后的的图形变形严重如何修正?
- libopenpano.so: undefined reference to `LZ4_decompress_safe_continue' HOT 1
- src.rows() > 1 && src.cols() > 1" failed, in resize<float>, HOT 1
- Can resources be optimized
- Compiled on ARM mac / 在 ARM mac 上编译完的
- Windows 编译报错太多啦, 大佬们,希望维护一下windows上的编译环境和代码,谢谢啦 HOT 1
- cv2 Stitcher_create() C++ output blur
- stich images output blur
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openpano.