0
$\begingroup$

Let's say I have a computer screen, or a TV, or a flat panel ceiling lamp, i.e. a certain luminance spread over an area.

If I wanted to determine, how homogeneous this source of light is, I'd take a picture of it and put it through a fourier transformation, e.g. a DFT.

If the panel were perfectly homogeneous, there'd only be one single peak at the zeroth frequency and nothing else. Of course, they never are, and the calculations are done in a discrete system, so it will resemble a 1/x function. Depending on the amplitudes at frequencies > 0, the panel will be homogeneous to a certain degree. High frequencies might indicate sharp edges, circular blobs in the actual image might be represented by circles in the amplitudes spectrum as well.

From such an amplitude spectrum alone, it would be very difficult to get a sharp definition for "good" or "bad".

As far as I know, the phase spectrum of an image contains most of the information for reconstructing the actual image. But looking at the phase spectrum, I see just "noise". Would it be possible to use the phase information as well?

How would you determine, from a fourier spectrum alone, if the source of light is homogeneous or not?

I have been reading about fourier transforms for the last few months, but I feel like I am still missing a huge point when it comes to connecting fourier transformations and image processing. It seems everyone is just using the amplitude information of an image while being in the fourier space, and ignoring phase.

$\endgroup$

1 Answer 1

1
$\begingroup$

If I wanted to determine, how homogeneous this source of light is, I'd take a picture of it and put it through a fourier transformation, e.g. a DFT.

Why?

The ideal homogeneous area is a rectangle of some constant colour. A typical sensor has a response with well defined low and high limits. Therefore, excluding ceiling effects at those limits, if you were to shoot a gray card you could then obtain the standard deviation of its values.

A narrow standard deviation would point to a "good" level of homogeneity. A wide standard deviation would point to a "bad" level of homogeneity.

If the standard deviation seems too "coarse", too general a quantification, then the next level up (in complexity) would be to evaluate the co-occurence matrix of the image and through that, the inverse difference moment or homogeneity. The homogeneity is high in low contrast images and vice versa.

For more information please see this link

In any case, you would have to calibrate your metric to give meaning to "good" and "bad". Good homogeneity with a web cam is entirely different than good homogeneity with a cooled ccd at the end of a very fast lens (i.e. a lens with a large diameter) for shooting a grey card under the same lighting conditions.

How would you determine, from a fourier spectrum alone, if the source of light is homogeneous or not?

If you absolutely had to use the Discrete Fourier Transform, then you would again be looking at how is a flat or "rough" surface "expressed" in the Fourier Transform. In general, the Fourier Transform is used for the "detection" of texture, especially in the case of repeating elements. Therefore, absence of texture leaves just an average value, full presence of texture is something like the spectrum of white noise and intermediate cases would have to be judged with something like spectral flatness but adapted to the two dimensional case.

Hope this helps.

$\endgroup$
1
  • $\begingroup$ I want to develop a method for determining if a light source is homogeneous or not. I went with the fourier transform, because a human's perception of inhomogeneous areas differs from that of a camera. Applying a human transfer function with regard to contrast is easy in fourier space, because it's a simple multiplication. So the fourier spectrum is already there, when it comes to interpreting the data. Thanks for your answer, I will have a look at all your links. What does your first "why" refer to, exactly? $\endgroup$
    – PhreakShow
    Jan 11, 2017 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.