In this discussion, we’re trying to reduce noise in the image and in the same time sharpen our image.
The image that we’ll be using will look this:
As we can see, some important details of the image is actually dark. What we want to do is first make the shady portion of the image to be visible. Thus we applied the power law transformation of image to make it work. Here’s the result:
As shown, fine details that was not seen the bag for example can now be seen clearly.
If we look closely, there’re actually noise that are still present in the image. To reduce the noise present in the image, we’ve to first pass the image through a Gaussian Blur filter. The result of passing the image through the filter is shown below:
After passing the image through a Gaussian Blur filter, most of the noise that was present is eliminated which is a good thing. The downside is some details that were crisp where degenerated by the filter. To add the crisp feeling back to the image, we can obtain the Laplacian of the image. Before applying the Laplacian filter, we’ve to first blur the image once more because the Laplacian filter is really sensitive to noise which was present in the image. The result of obtaining the Laplacian is shown below:
The result of the Laplacian is helpful in terms of enhancing edges of our image. As seen in our result of Laplacian the edges that we want are there, but there’re details that we don’t want, such as the grey level of the sky. Since the sky of the image given is already bright, we’d not want to add more brightness into it. To further extend the contrast between areas that are already bright with the edges we want, we can apply the power law transformation we used just now. The difference is we now want to emphasize areas that are bright and dampen areas that are dull such as the sky we mentioned. The results are shown below:
We then add the Laplacian results back to the image that was generated awhile ago that was passed through a power law transformation and a single stage of gaussian blur. The result of Laplacian is multiplied by a weight before adding to the mentioned image.
The following is the flow chart that sums up everything:
Here’s the source code of my implementation: Image Enhancement