How to implement a non uniform blur?

2 Ansichten (letzte 30 Tage)
Françoise
Françoise am 22 Apr. 2016
Kommentiert: Image Analyst am 25 Apr. 2016
Hey there. I've been trying to find a way to apply an out-of-focus filter that mimics that of a camera when focusing on a close object. Basically, the center (or the focal point of the image) is completely clear, but as you move away from it, the image gets blurrier and blurrier. This is, a blur that is not uniform across the image.
Is there any way of implementing this? I've tried by dividing the image into blocks and blurring each block separately, but in the end it didn't work (all I got was an image with concentric circles of different brightness, not an uniform image.)
Any help with this will be greatly appreciated.

Antworten (1)

Alessandro Masullo
Alessandro Masullo am 22 Apr. 2016
I don't know if this would be the best solution, but what you need is basically a filter that depends on the spatial position. In particular, I was thinking of a modified version of conv2.
You could rewrite the conv2 function in matlab code (you can google it) and change the kernel in a way that it depends on the position of the pixel where it is applied. Then, you can convolve your original image with a Gaussian whose size depends on the (x,y) position in your image. According to the function that you choose for the Gaussian, you'll have different blur.
  2 Kommentare
Françoise
Françoise am 25 Apr. 2016
Thanks a lot! That sounds like a good idea. Actually, I managed to find a script over the weekend to implement a gradient blur, and it proved to be just what I needed.
Thanks a lot!
Image Analyst
Image Analyst am 25 Apr. 2016
One form of this is called "field curvature" https://en.wikipedia.org/wiki/Petzval_field_curvature It's one of the optical aberrations, some others being spherical aberration, distortion, astigmatism, coma, longitudinal chromatic aberration, lateral chromatic aberration, and defocus.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by