# What technique can I use to remove useless information from an image?

Is there any way to remove useless information (unimportant details) from an image?

If, for example, we have a specific image, so this contains both useful and useless information. If this image can be recognized directly without the useless information, the unnecessary information can be removed (e.g., illumination, some noises, variations, etc.).

## 3 Answers

It depends on how you define the noise and what kind of noise does your image have. Different filters work on different kinds of noise. Among those filters, Wiener filter is often used by tailoring itself to the local image variance. And a new method called block-matching and 3D ﬁltering (BM3D) in which the Weiner filter is used to optimize the parameters of denoising by shrinkage in 3D transform domain with block matching. Their research paper is very worth reading and studying.

Regarding the illumination difference, you may need to equalize the difference by creating a white evenly distributed background. This post with Gaussian blurring method and this one with dilate after erode may help you.

• If I remove the noises or other types of useless information from the image, then I convolve it with a specific filter, can we consider that the result image (filtered image) will be much better (we have more accuracy)? and the time of computation will reduce? I think that it is logic. What is your opinion :) – Christina Jan 13 '14 at 21:53
• @Christina, what kind of filter are you going to use, and what is the aim of applying such a filter if the noise has already been removed? As you know, the low pass filter may blur your image:) – lennon310 Jan 13 '14 at 21:55
• I am going to use the Gabor filter. So I think If I removed all useless information from the image before convolving it with the Gabor, the result will be more accurate and the complexity will reduce. True? – Christina Jan 13 '14 at 22:05
• @Christina, the result will represent the true edges you are interested more accurately. But the complexity is probably the same since it is only dependent on the filter size and image size. – lennon310 Jan 13 '14 at 22:09
• @Christina, if there are not many complicated features in your image, DWT is helpful in compression (dimension reduction), otherwise you may lose information. You can have a try to observe the effect – lennon310 Jan 13 '14 at 22:17

Although you did not spent even a minute in researching the question I will post an answer to it. There are multiple ways; I will try to demonstrate it using wavelets in Mathematica. So, first of all we need an image.

img = ExampleData[{"TestImage", "Mandrill"}]


Then we apply the DiscreteWaveletTransform using the HaarWavelet

dwd = DiscreteWaveletTransform[img]


We plot the transformation

WaveletImagePlot[dwd]


We threshold it, i.e. removing the noise according to some criteria

wtd = WaveletThreshold[dwd]


Again plot the transformation and the filtering

WaveletImagePlot[wtd]


We now inverse the transformation

iwd = InverseWaveletTransform[wtd]


And visualize the differences between the two images

ImageDifference[iwd, img]


• Firstly thank you for your response. Do you know another way than wavelet? and why you threshold the image using the Level 6 decomposition? why not Level 1 ? In your example, you eliminates the noises, can we eliminate another details ? Please I need your opinion. – Christina Jan 12 '14 at 20:33
• That's actually Level 9 decomposition :D That's the automatic value Mathematica determined - I used it just for the sake of this example. Of course we can - Let me demonstrate that in a minute. – Sektor Jan 12 '14 at 20:36
• And yes, there are other methods. For example Hadamard, Fourier, Cosine transform. – Sektor Jan 12 '14 at 20:38

The amount of information contained in a signal (or image) is generally related to entropy. If you compute the per pixel entropy of the image, then you can get use threholding to remove or retain the importance. Filtered entropy appears like this:

Note that in this image the white pixels denote higher entropy while lower ones represent unimportance or lack of information.