Image Stitching
hihi,
I am trying to write an application to do image processing such as stitching (my first aim). However i am new to this. Which software is recommended?
Visual Studio 2008, if your target is Windows.
Note that image stitching is an extremely difficult topic, so if you're a newbie (I assume you are) it will take a considerable while before you can write a working implementation with even moderate results. Hence, using a project like this as your "first aim" isn't actually a realistic plan.
To put things into perspective, Photoshop CS4 has image stitching functionality but even it isn't nearly perfect even though they have a team of highly professional graphics-oriented programmers working on it. It does produce somewhat good results but often you have to fix overlaps manually even though ideally it would handle that automatically.
Note that image stitching is an extremely difficult topic, so if you're a newbie (I assume you are) it will take a considerable while before you can write a working implementation with even moderate results. Hence, using a project like this as your "first aim" isn't actually a realistic plan.
To put things into perspective, Photoshop CS4 has image stitching functionality but even it isn't nearly perfect even though they have a team of highly professional graphics-oriented programmers working on it. It does produce somewhat good results but often you have to fix overlaps manually even though ideally it would handle that automatically.
Hugin is a free panorama and stitching software based on several other tools, it might be interesting to you to see how they do it.
Quote:Original post by phresnel
Hugin is a free panorama and stitching software based on several other tools, it might be interesting to you to see how they do it.
That looks very good! However, if the OP is indeed a beginner, deciphering and understanding the code of that library might be an unachievable feat also, for now.
Quote:Original post by phresnel
Hugin is a free panorama and stitching software based on several other tools, it might be interesting to you to see how they do it.
The magic of Hugin - image matching - uses patented algorithm in form of third-party library which cannot be used for any other purpose without obtaining a license.
It can be done without it, but the problem is far from trivial for general case.
Quote:However, if the OP is indeed a beginner, deciphering and understanding the code of that library might be an unachievable feat also, for now.
Yes, it's a vary hard problem which is currently matter of post-grad research. But this cannot be changed.
Quote:Original post by AntheusQuote:Original post by phresnel
Hugin is a free panorama and stitching software based on several other tools, it might be interesting to you to see how they do it.
The magic of Hugin - image matching
I wouldn't call it the single magic of hugin, as there is far more business involved: morphing (incl. stretching, rotation, etc.), projection (e.g. cylindric or sphere), blending, colour-correction, cutting, and even tone mapping (as several LDR images can be combined into an HDR image), and more.
Quote:... - uses patented algorithm in form of third-party library which cannot be used for any other purpose without obtaining a license.
Panotools are under LGPL, available on panotools.sourceforge.net (principal homepage, btw).
According to apt and this package information, the required or recommended packages enblend+enfuse, hugin-tools, libpano are free.
But the keypoint generator (not necessarily needed, if you can spend some minutes; many panoramas can be created with just three handful of manually placed keypoints), autopano, states:
Quote:Notice: The SIFT algorithm is restricted by patents in the United States and hence this software is not completely free to use. For details see the LICENSE file included in the distribution, before you start to use this software.
The University of British Columbia has applied for a patent on the SIFT algorithm in the United States. Commercial applications of this software may require a license from the University of British Columbia.
IANAL: It should hence be safe to use the SIFT-Algorithm outside the US, inside the US, I'd leave a mail to that university in case you are going to use autopano or SIFT, and just ask them.
Sidenote: If you don't have or don't want Mono or .net on your box, there is also a port to native C: autopano-sift-C (pre-edit: I see they even encourage to use the C version: "Autopano-sift has been largely superseded by a C port called autopano-sift-C").
edit: Hm, that university's autostitch seems interesting, too, as for it doesn't require the user to have the images sorted; there's a downloadable binary, but it's propietary and seems to hide it's entrails.
[Edited by - phresnel on August 12, 2009 8:06:12 AM]
Quote:Original post by phresnel
Hugin is a free panorama and stitching software based on several other tools, it might be interesting to you to see how they do it.
Thanks this definitely looks helpful. Guess would be a good place to get an idea of how to get started with my project.
Hmm ok i have been reading a little bit on this subject here and there. But have not really started my programming.
I think i should be using SIFT algorithm to do my project and therefore been looking around on how i should get in done. & found that most of this coding are done in C. Is there any particular reason why one language is chosen over another? Is it easier this way compared to doing it with Java. (Sorry.. i am really a beginner)
I think i should be using SIFT algorithm to do my project and therefore been looking around on how i should get in done. & found that most of this coding are done in C. Is there any particular reason why one language is chosen over another? Is it easier this way compared to doing it with Java. (Sorry.. i am really a beginner)
A computer language is not much different from a written language. The same thing can be said in multiple languages. The people who wrote the examples you looked at just happened to use C. Algorithms can be implemented in whatever language you use (disclaimer: exceptions do exist).
Quote:Original post by Vikato
A computer language is not much different from a written language.
Non-offensive veto: Natural languages happen to be ambiguous and irregular as hell, Chomsky never found a way to define natural languages like you could describe canonical programming languages. As far as I know, it's not possible to write a compiler for most natural languages up until today.
Apart from that: Yes, with every turing complete program language, you can solve any mathematical problem. Some fit better to a problem, some fit worse. And often you find programmers writing in a specific language just for personal or companies personal preference.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement