Subject: Re: Re: Brightness/colour correction in pano12 and nona Newsgroups: gmane.comp.misc.ptx Date: Sunday 20th November 2005 21:08:34 UTC (over 12 years ago) I agree with Gellule's interpretation. In practice, I think it should not be much problem that N_A is not strictly increasing. By definition, flat sections in N_A will occur only in regions where no pixels have those values in A. So if the basic model is right, no pixels in B (at least not many) will end up mapping to those sections of N_A. Using some average over the flat region seems OK. Maybe less risk of banding if for each pixel in a flat region of N_A you pick a random value from among the possibilities.. Bear in mind that this whole model assumes that matching the histograms within the whole overlap region will match colors on a pixel by pixel basis. This is true under idealized conditions, but it breaks down if different portions of the overlap region had different shifts. For example, you can expect less than perfect correction if radial falloff causes a left-to-right gradient in one image but right-to-left in the other. Radial falloff should be corrected in each image separately, before attempting to correct one image against another. (And accurately correcting for radial falloff requires knowing the actual light-level-to-pixel-value gradation curve, not just some idealized gamma, but that's another story.) --Rik Gellule wrote: >Hello, > >I have a group of pictures for which the best result is achieved with >PTStitcher with brightness correction and then enblend. It seems to me that >it would be interesting to have the brightness/color correction in nona. Is >that a wanted/planned feature? Would an explanation of what H.Dersch might >mean help? > >The gradation curves N(I) seem to be the integration of the histograms n(I): > N_A(I) = Sum_{i in [0;I]} n_A(i) for n_A(i) the histogram of image A > N_B(I) = Sum_{i in [0;I]} n_B(i) for n_B(i) the histogram of image B > >The correction from image B to image A would then follow: >A pixel of intensity I in image B should become a pixel of intensity >N_A^-1(N_B(I)). > >Basically, you end up with (almost) exactly the same histrogams. >Unfortunately, N_A is a discrete function and not strictly increasing (don't >know if those are the proper mathematical terms), and there must be some >subtleties to add in the implementation in order to get the thing working. > >Thank you for Hugin. > >-Gellule > > >"Pablo d'Angelo" |
|||