From: Bruno P. <br...@po...> - 2006-07-15 18:36:06
|
This is really a question for Thomas Rauscher, but the problem is very generic so I'll ask the panotools-devel list too. I want to apply a sharpening filter to panoramas, since my Peleng isn't so great in this department. I've looked at my workflow and it seems that the best place to apply an unsharp mask should be after creating the final equirectangular panorama. An unsharp mask works basically like this: it extracts the high frequency detail by subtracting a blurred version of an image from the original, this high-frequency data is then reinserted which 'sharpens' the image. The problem is that blurring an equirectangular image doesn't really work: near the 'poles', pixels get blurred in the 'longitude' direction, but not in the 'latitude' direction. This seems to me to be the same problem that Thomas solved with the panotools antialiasing filters, so I thought that it should be possible to blur an equirectangular image by selecting one of the new filters, scaling the image down, then scaling it back up. Here is the pole of an equirectanglar original remapped to rectilinear, it is clear of artefacts: http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/original.jpg Here is the same equirectangular image blurred with ImageMagick, then remapped to rectilinear, you can see some nasty artefacts which appear as radial lines: http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/scaled-imagemagick.jpg Here is the same equirectangular blurred by scaling down and up with PTmender and filter no. 14 then remapped to rectilinear: http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/scaled-panotools.jpg Ignore the black circle in the middle, this is a PTmender bug. Otherwise this result has similar radial artefacts. Any ideas? I thought this would work. -- Bruno |
From: Carl v. E. <ei...@gm...> - 2006-07-16 10:22:06
|
Bruno, sharpening in Lab instead of the RGB color space can be useful. Have a look at e.g. http://www.luminous-landscape.com/tutorials/instant_photoshop.shtml Sometimes (or often?) it doesn't make sense to sharpen the zenith when there is only blue sky. That only leads to worse compression. Most times I do sharpening (and I have still film grain to cope with) only in those areas of the image where I can visually fine tune the amount of sharpening needed. For the nadir area this is done in a remapped version of the image. So my thesis is that we don't need the same amount of sharpening in the whole image area. Carl Bruno Postle wrote: > This is really a question for Thomas Rauscher, but the problem is > very generic so I'll ask the panotools-devel list too. > > I want to apply a sharpening filter to panoramas, since my Peleng > isn't so great in this department. I've looked at my workflow and > it seems that the best place to apply an unsharp mask should be > after creating the final equirectangular panorama. > > An unsharp mask works basically like this: it extracts the high > frequency detail by subtracting a blurred version of an image from > the original, this high-frequency data is then reinserted which > 'sharpens' the image. > > The problem is that blurring an equirectangular image doesn't really > work: near the 'poles', pixels get blurred in the 'longitude' > direction, but not in the 'latitude' direction. > > This seems to me to be the same problem that Thomas solved with the > panotools antialiasing filters, so I thought that it should be > possible to blur an equirectangular image by selecting one of the > new filters, scaling the image down, then scaling it back up. > > Here is the pole of an equirectanglar original remapped to > rectilinear, it is clear of artefacts: > > http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/original.jpg > > Here is the same equirectangular image blurred with ImageMagick, > then remapped to rectilinear, you can see some nasty artefacts which > appear as radial lines: > > http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/scaled-imagemagick.jpg > > Here is the same equirectangular blurred by scaling down and up with > PTmender and filter no. 14 then remapped to rectilinear: > > http://bugbear.blackfish.org.uk/~bruno/photos/unsharp/scaled-panotools.jpg > > Ignore the black circle in the middle, this is a PTmender bug. > Otherwise this result has similar radial artefacts. > > Any ideas? I thought this would work. > |
From: Bruno P. <br...@po...> - 2006-07-17 09:14:54
|
On Sun 16-Jul-2006 at 12:21 +0200, Carl von Einem wrote: > > Sometimes (or often?) it doesn't make sense to sharpen the zenith when > there is only blue sky. Probably you are right, though I just want the slight improvement that I would have it if I didn't have in-camera sharpening turned-off. The other thing I didn't realise before I investigated this is that: It isn't possible to create a low resolution version of an equirectangular panorama by simply scaling it in a paint program. Doing this introduces nasty radial artefacts at the zenith and nadir. -- Bruno |
From: Carl v. E. <ei...@gm...> - 2006-07-17 09:24:58
|
Is that the typical problem of scaling down to a thumbnail in one go? So what happens if you only scale down (what program btw? Can you choose the algorithm like in Photoshop?) in several steps of 50%. It might help to use Photoshops "remove noise" filter in those problematic regions between those steps. Photoshops scaling algorithms seem to sharpen and this will likely bring some benefit. Carl Bruno Postle wrote: > On Sun 16-Jul-2006 at 12:21 +0200, Carl von Einem wrote: >> Sometimes (or often?) it doesn't make sense to sharpen the zenith when >> there is only blue sky. > > Probably you are right, though I just want the slight improvement > that I would have it if I didn't have in-camera sharpening > turned-off. > > The other thing I didn't realise before I investigated this is that: > > It isn't possible to create a low resolution version of an > equirectangular panorama by simply scaling it in a paint program. > Doing this introduces nasty radial artefacts at the zenith and > nadir. > |
From: Bruno P. <br...@po...> - 2006-07-17 09:51:08
|
On Mon 17-Jul-2006 at 11:24 +0200, Carl von Einem wrote: > Is that the typical problem of scaling down to a thumbnail in one go? So > what happens if you only scale down (what program btw? Can you choose > the algorithm like in Photoshop?) in several steps of 50%. Actually this is a different effect. An equirectangular image has a huge amount of data redundancy near the poles, but only in the 'latitude' direction. When you down-scale such an image, you lose resolution everywhere but the poles, where there is very little data loss in this 'latitude' direction. Try it yourself, take a good high-resolution equirectangular panorama and scale it down, using any technique, to something like 25% size. Then open it up in a panorama viewer and look at the nadir/zenith. > > It isn't possible to create a low resolution version of an > > equirectangular panorama by simply scaling it in a paint program. > > Doing this introduces nasty radial artefacts at the zenith and > > nadir. -- Bruno |
From: Thomas R. <pa...@at...> - 2006-07-17 12:23:26
|
Hello Bruno, on Saturday, July 15, 2006, 20:36:00 you wrote: BP> This is really a question for Thomas Rauscher, but the problem is BP> very generic so I'll ask the panotools-devel list too. BP> I want to apply a sharpening filter to panoramas, since my Peleng BP> isn't so great in this department. But still better than the Sigma, but this is a bit OT ;) BP> I've looked at my workflow and it seems that the best place to BP> apply an unsharp mask should be after creating the final BP> equirectangular panorama. The problem is how to define the area for the blur filter because its not a ellipse/circle or a rectangle so the brute force method I used for the antialiasing filters is to go back into the original, calculate the distance there and apply those distance values to the filter. This makes them independent from the actual remapping. I guess the artefacts here appear because the filters are applied as a rectangle not a circle. For the reconstruction this is good enough (size~1 pixel, max error sqrt(2)) but for larger areas this is not acceptable. For those problems I guess its necessary to map the pixels onto a sphere and calculate the distance there and remap it back to the image. This can be speeded up a bit because you know the exact (and simple) remapping formulas (no lens correct,...). I think it would be nice to have a whole toolbox of operators on the final equirectangular which take the distortion into account (for example tonemapping!) because every image processing step which takes the surrounding into account fails at the poles. You can discuss if it makes sense to run a Canny filter on a pano but the problem is the same for every of them. I guess one question should be answered first: Should this toolbox work only on equirectangulars (its only one easy transformation,...) or should it be implemented for all possible transformations (slower, but possible more useful)? Just my thoughts. MfG, Thomas. |
From: Bruno P. <br...@po...> - 2006-07-17 13:29:38
|
On Mon 17-Jul-2006 at 14:23 +0200, Thomas Rauscher wrote: > > I guess the artefacts here appear because the filters are applied as a > rectangle not a circle. For the reconstruction this is good enough > (size~1 pixel, max error sqrt(2)) but for larger areas this is not > acceptable. Are you sure? In my tests, I can't tell the difference between a pole sampled with ImageMagick and a pole sampled with the panotools antialiasing filters. I would expect some improvement if each pixel was sampled from a wide rectangle in the equirectangular original. > I think it would be nice to have a whole toolbox of operators on the > final equirectangular which take the distortion into account (for > example tonemapping!) because every image processing step which takes > the surrounding into account fails at the poles. I'd already noticed that enblend can't cope with seams that run through the poles - I've been stitching equirectangulars at a pitch of 90 degrees because of this. -- Bruno |
From: Daniel M. G. <dmg...@uv...> - 2006-07-17 20:01:49
|
Thomas> Hello Bruno, Thomas> on Saturday, July 15, 2006, 20:36:00 you wrote: Thomas> I think it would be nice to have a whole toolbox of operators on the Thomas> final equirectangular which take the distortion into account (for Thomas> example tonemapping!) because every image processing step which takes Thomas> the surrounding into account fails at the poles. You can discuss if it Thomas> makes sense to run a Canny filter on a pano but the problem is the Thomas> same for every of them. Thomas> I guess one question should be answered first: Should this toolbox Thomas> work only on equirectangulars (its only one easy transformation,...) Thomas> or should it be implemented for all possible transformations (slower, Thomas> but possible more useful)? This got me thinking... an excuse me if sounds stupid, I don't understand yet how the transformation is done inside panotools. How about allowing the execution of user-defined filters to the image while it represents a sphere (before it is mapped to the required proyection). Does that make sense? -- Daniel M. German "Work. Finish. Publish. " Michael Faraday http://turingmachine.org/ http://silvernegative.com/ dmg (at) uvic (dot) ca replace (at) with @ and (dot) with . |
From: Pablo d'A. <pab...@we...> - 2006-07-22 08:13:29
|
Bruno Postle schrieb: > This is really a question for Thomas Rauscher, but the problem is > very generic so I'll ask the panotools-devel list too. > > I want to apply a sharpening filter to panoramas, since my Peleng > isn't so great in this department. I've looked at my workflow and > it seems that the best place to apply an unsharp mask should be > after creating the final equirectangular panorama. > > An unsharp mask works basically like this: it extracts the high > frequency detail by subtracting a blurred version of an image from > the original, this high-frequency data is then reinserted which > 'sharpens' the image. > > The problem is that blurring an equirectangular image doesn't really > work: near the 'poles', pixels get blurred in the 'longitude' > direction, but not in the 'latitude' direction. A way around this would be to use a different projection, for example the sinusoidal projection I recently added. There, the "neighbourhood properties" are much better preserved than with the equirectangular projection. Unfortunately I don't know a tool that can use sinusoidal projection as input image (Would probably be a good addition to panotools ;) ciao Pablo |