Re: [hugin-ptx] Re: circuit and algorithm of generating a 360 panorama using cylindrical projection
Tom, Thank you :) I underestimated the difficulty of this work, but I'll try my best. Do you mean that the output pixel cooridnates are translated from a sphere(even I make a cylinderical panorama)? Tom Sharpless wrote: > Hi Cugucas > > The process of building the panorama is a little more complicated than > you describe; and not so ideal. > > First, corresponding points are detected in the original photo > coordinates -- or, in case of fisheye images and AutoPano-Sift-C, in > stereographic coordinates -- still centered on the optical axis of > each photo. > > Second, those control points are mapped onto the sphere -- or through > the sphere onto an output coordinate system -- and we compute the > rotation of the sphere, for each image, that brings the CPs into best > alignment (least sum of all squared distances). The rotations have > just 3 parameters (yaw, pitch, roll angles) however at the same time > we will be optimizing other parameters of the mapping (shared by all > photos) such as lens focal length, the displacement of optical axis > from photo center, and some 'radial distortion' parameters of the > lens. > > The result is an alignment -- a mapping of each photo's coordinates to > the sphere, or, via the sphere, to the output coordinates. Libpano > has functions for computing these mappings in either direction, given > the alignment parameters, so that is the way to solve your problem. > It would be rather easy to write a C or Java program to read the > alignment parameters from a completed Hugin project file, then show > source coordinates given pano coordinates -- indeed it is possible > that such a program exists. If it does, you will not need to master > all the details of the PanoTools mapping transformations, which are > not so clear as one might wish. However if your goal is really to > understand panorama construction, then you should study libpano in > detail (writing your own programs to test your hypotheses) until it > all becomes clear. That could take a year or 2. > > Good luck, Tom > > > > On May 15, 7:35 am, Cugucas wrote: > > Good day all! > > > > I am a university student. Recently I'm doing such work: assume I have > > 5 images and have stitched them to a 360 panorama using cylindrical > > projection. Now I specify a point P(x,y) on the panorama, I need to > > know which original image does P from (If P is in the overlap, both > > of the images should be shown), and also, its pixel coordinates > > P'(x',y') in the original image. > > > > I think if I want to complete such tasks, I must learn the circuit and > > algorithm of generating a 360 panorama using cylindrical projection > > first. Here is some summary after I studying the code of hugin: > > (Assume the camera rotated while it was shooting. I just care about > > the algorithm of the geometric transformation.) > > > > 1. Load original images, translate all of them to cylindrical > > coordinates. > > 2. Detect corresponding points by SIFT. > > 3. Compute the parameters of rotation matrix(does hugin use 8 > > parameters model?) with GCPs, and > > rotate images one by one to the unified cylindrical surface? > > 4. Make a 360 panorama. > > > > I know the circuit above is very rough and may contain many mistakes, > > anyone who can help me correct and make it more detailed? > > > > Thanks so much:) > > Best regards > > > > -- > > You received this message because you are subscribed to the Google Groups > > "hugin and other free panoramic software" group. > > A list of frequently asked questions is available > > at:http://wiki.panotools.org/Hugin_FAQ > > To post to this group, send email to hugin-ptx@googlegroups.com > > To unsubscribe from this group, send email to > > hugin-ptx+unsubscr...@googlegroups.com > > For more options, visit this group > > athttp://groups.google.com/group/hugin-ptx > > -- > You received this message because you are subscribed to the Google Groups > "hugin and other free panoramic software" group. > A list of frequently asked questions is available at: > http://wiki.panotools.org/Hugin_FAQ > To post to this group, send email to hugin-ptx@googlegroups.com > To unsubscribe from this group, send email to > hugin-ptx+unsubscr...@googlegroups.com > For more options, visit this group at http://groups.google.com/group/hugin-ptx -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: circuit and algorithm of generating a 360 panorama using cylindrical projection
Hi Cugucas The process of building the panorama is a little more complicated than you describe; and not so ideal. First, corresponding points are detected in the original photo coordinates -- or, in case of fisheye images and AutoPano-Sift-C, in stereographic coordinates -- still centered on the optical axis of each photo. Second, those control points are mapped onto the sphere -- or through the sphere onto an output coordinate system -- and we compute the rotation of the sphere, for each image, that brings the CPs into best alignment (least sum of all squared distances). The rotations have just 3 parameters (yaw, pitch, roll angles) however at the same time we will be optimizing other parameters of the mapping (shared by all photos) such as lens focal length, the displacement of optical axis from photo center, and some 'radial distortion' parameters of the lens. The result is an alignment -- a mapping of each photo's coordinates to the sphere, or, via the sphere, to the output coordinates. Libpano has functions for computing these mappings in either direction, given the alignment parameters, so that is the way to solve your problem. It would be rather easy to write a C or Java program to read the alignment parameters from a completed Hugin project file, then show source coordinates given pano coordinates -- indeed it is possible that such a program exists. If it does, you will not need to master all the details of the PanoTools mapping transformations, which are not so clear as one might wish. However if your goal is really to understand panorama construction, then you should study libpano in detail (writing your own programs to test your hypotheses) until it all becomes clear. That could take a year or 2. Good luck, Tom On May 15, 7:35 am, Cugucas wrote: > Good day all! > > I am a university student. Recently I'm doing such work: assume I have > 5 images and have stitched them to a 360 panorama using cylindrical > projection. Now I specify a point P(x,y) on the panorama, I need to > know which original image does P from (If P is in the overlap, both > of the images should be shown), and also, its pixel coordinates > P'(x',y') in the original image. > > I think if I want to complete such tasks, I must learn the circuit and > algorithm of generating a 360 panorama using cylindrical projection > first. Here is some summary after I studying the code of hugin: > (Assume the camera rotated while it was shooting. I just care about > the algorithm of the geometric transformation.) > > 1. Load original images, translate all of them to cylindrical > coordinates. > 2. Detect corresponding points by SIFT. > 3. Compute the parameters of rotation matrix(does hugin use 8 > parameters model?) with GCPs, and > rotate images one by one to the unified cylindrical surface? > 4. Make a 360 panorama. > > I know the circuit above is very rough and may contain many mistakes, > anyone who can help me correct and make it more detailed? > > Thanks so much:) > Best regards > > -- > You received this message because you are subscribed to the Google Groups > "hugin and other free panoramic software" group. > A list of frequently asked questions is available > at:http://wiki.panotools.org/Hugin_FAQ > To post to this group, send email to hugin-ptx@googlegroups.com > To unsubscribe from this group, send email to > hugin-ptx+unsubscr...@googlegroups.com > For more options, visit this group athttp://groups.google.com/group/hugin-ptx -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] Re: Windows 64-bit Build
On May 14, 6:25 am, Tom Glastonbury wrote: > A number of people have asked to try out this build, so here it is: Thanks, Tom. Trying it out here [on an Athlon II x4 w/4GB & Windows 7 x64] and everything appears to be good so far. -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
[hugin-ptx] circuit and algorithm of generating a 360 panorama using cylindrical projection
Good day all! I am a university student. Recently I'm doing such work: assume I have 5 images and have stitched them to a 360 panorama using cylindrical projection. Now I specify a point P(x,y) on the panorama, I need to know which original image does P from (If P is in the overlap, both of the images should be shown), and also, its pixel coordinates P'(x',y') in the original image. I think if I want to complete such tasks, I must learn the circuit and algorithm of generating a 360 panorama using cylindrical projection first. Here is some summary after I studying the code of hugin: (Assume the camera rotated while it was shooting. I just care about the algorithm of the geometric transformation.) 1. Load original images, translate all of them to cylindrical coordinates. 2. Detect corresponding points by SIFT. 3. Compute the parameters of rotation matrix(does hugin use 8 parameters model?) with GCPs, and rotate images one by one to the unified cylindrical surface? 4. Make a 360 panorama. I know the circuit above is very rough and may contain many mistakes, anyone who can help me correct and make it more detailed? Thanks so much:) Best regards -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx
Re: [hugin-ptx] Re: Windows 64-bit Build
Hi Tom, checked in you latest modification (rev 5158). Adding the following after line 22 in FindGLUT.cmake sorts it out: ${SOURCE_BASE_DIR}/freeglut-2.6.0/VisualStudio2008/x64/Release ${SOURCE_BASE_DIR}/freeglut-2.6.0/VisualStudio2008Static/x64/Release The best place to provide patches is hugins patch tracker (http://sourceforge.net/tracker/?group_id=77506&atid=550443) There you can also attach a diff file, which contains all of your changes Thomas -- You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group. A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ To post to this group, send email to hugin-ptx@googlegroups.com To unsubscribe from this group, send email to hugin-ptx+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/hugin-ptx