ArticleslgStudy

science

Homomorphic filtering

Homomorphic filtering is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Homomorphic filtering rather than just read about it. In short: Homomorphic filtering is a generalized technique for signal and image processing, involving a nonlinear mapping to a different domain in which linear filter techniques are applied, followed by mapping back to the original domain. This concept was developed in the 1960s by Thomas Stockham, Alan V.

Homomorphic filtering — main illustration
Homomorphic filtering — illustration

Key takeaways

  • Homomorphic filtering belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Homomorphic filtering to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Homomorphic filtering from memory before moving on to harder problems.

Reference excerpt

Homomorphic filtering is a generalized technique for signal and image processing, involving a nonlinear mapping to a different domain in which linear filter techniques are applied, followed by mapping back to the original domain. This concept was developed in the 1960s by Thomas Stockham, Alan V. Oppenheim, and Ronald W. Schafer at MIT and independently by Bogert, Healy, and Tukey in their study of time series.

Image enhancement Homomorphic filtering is sometimes used for image enhancement. It simultaneously normalizes the brightness across an image and increases contrast. Here homomorphic filtering is used to remove multiplicative noise. Illumination and reflectance are not separable, but their approximate locations in the frequency domain may be located. Since illumination and reflectance combine multiplicatively, the components are made additive by taking the logarithm of the image intensity, so that these multiplicative components of the image can be separated linearly in the frequency domain. Illumination variations can be thought of as a multiplicative noise, and can be reduced by filtering in the log domain. To make the illumination of an image more even, the high-frequency components are increased and low-frequency components are decreased, because the high-frequency components are assumed to represent mostly the reflectance in the scene (the amount of light reflected off the object in the scene), whereas the low-frequency components are assumed to represent mostly the illumination in the scene. That is, high-pass filtering is used to suppress low frequencies and amplify high frequencies, in the log-intensity domain.

Operation Homomorphic filtering can be used for improving the appearance of a grayscale image by simultaneous intensity range compression (illumination) and contrast enhancement (reflection).

m ( x , y ) = i ( x , y ) ∙ r ( x , y ) {\displaystyle m(x,y)=i(x,y)\bullet r(x,y)}

Where, m = image, i = illumination, r = reflectance We have to transform the equation into frequency domain in order to apply high pass filter. However, it's very difficult to do calculation after applying Fourier transformation to this equation because it's not a product equation anymore. Therefore, we use 'log' to help solve this problem.

ln ⁡ ( m ( x , y ) ) = ln ⁡ ( i ( x , y ) ) + ln ⁡ ( r ( x , y ) ) {\displaystyle \ln(m(x,y))=\ln(i(x,y))+\ln(r(x,y))}

Then, applying Fourier transformation

ϝ ( l n ( m ( x , y ) ) ) = ϝ ( l n ( i ( x , y ) ) ) + ϝ ( l n ( r ( x , y ) ) ) {\displaystyle \digamma (ln(m(x,y)))=\digamma (ln(i(x,y)))+\digamma (ln(r(x,y)))}

Or M ( u , v ) = I ( u , v ) + R ( u , v ) {\displaystyle M(u,v)=I(u,v)+R(u,v)}

Next, applying high-pass filter to the image. To make the illumination of an image more even, the high-frequency components are increased and low-frequency components are decrease.

N ( u , v ) = H ( u , v ) ∙ M ( u , v ) {\displaystyle N(u,v)=H(u,v)\bullet M(u,v)}

Where H = any high-pass filter N = filtered image in frequency domain Afterward, returning frequency domain back to the spatial domain by using inverse Fourier transform.

n ( x , y ) = i n v F ( N ( u , v ) ) {\displaystyle n(x,y)=invF(N(u,v))}

Finally, using the exponential function to eliminate the log we used at the beginning to get the enhanced image

n e w I m a g e ( x , y ) = e x p ( n ( x , y ) ) {\displaystyle newImage(x,y)=exp(n(x,y))}

The following figures show the results of applying the homomorphic filter, high-pass filter, and the both homomorphic and high-pass filter. All figures were produced using Matlab.

According to figures one to four, we can see how homomorphic filtering is used for correcting non-uniform illumination in the image, and the image become clearer than the original. On the other hand, if we apply the high pass filter to the homomorphic filtered image, the edges of the images become sharper and the other areas become dimmer. This result is similar to applying only a high-pass filter to the original image.

Anti-homomorphic filtering It has been suggested that many cameras already have an approximately logarithmic response function (or more generally, a response function which tends to compress dynamic range), and display media such as television displays, photographic print media, etc., have an approximately anti-logarithmic response, or an otherwise dynamic range expansive response. Thus homomorphic filtering happens accidentally (unintentionally) whenever we process pixel values f(q) on the true quantigraphic unit of light q. Therefore it has been proposed that another useful kind of filtering is anti-homomorphic filtering in which images f(q) are first dynamic-range expanded to recover the true light q, upon which linear filtering is performed, followed by dynamic range compression back into image space for display.

… excerpt ends here. Continue reading the full article.

Illustrations

Homomorphic filtering illustration
Homomorphic filtering illustration
Homomorphic filtering illustration

Worked examples

Example 1 — a first encounter with Homomorphic filtering

Start with the simplest possible case. Write down what Homomorphic filtering claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Homomorphic filtering before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Homomorphic filtering ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Homomorphic filtering

In research
Homomorphic filtering appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Homomorphic filtering in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Homomorphic filtering is common in secondary-school and first-year university syllabi. It links to neighbouring topics Image processing, Signal processing, so understanding it makes those chapters shorter.
In everyday life
Look for Homomorphic filtering outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Homomorphic filtering” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Homomorphic filtering in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Homomorphic filtering means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Homomorphic filtering out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Homomorphic filtering in simple terms?

Homomorphic filtering is a generalized technique for signal and image processing, involving a nonlinear mapping to a different domain in which linear filter techniques are applied, followed by mapping back to the original domain. This concept was developed in the 1960s by Thomas Stockham, Alan V.

Why does Homomorphic filtering matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Homomorphic filtering?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Homomorphic filtering.

Tags

  • Image processing
  • Signal processing

Keep exploring