Viewing a single comment thread. View all comments

SlingyRopert t1_j9ghtzw wrote

There’s a whole bunch of special cases but I tried to target the case where you know exactly how it is blurred but the blurred version you have has additional noise. It is this additional noise that does you in. My example also could if explicitly brought in the blurring into the equation example and brought in the convolution nature:

Let’s think about a one dimensional deblurring problem where we measure just two blurred pixels. The left one is 34 and the right one is 27. Suppose we exactly know the blur (in kernel form) is three pixels wide and the blur has values A, B, C. If w,x,y,z is the unblurred image then

Aw + Bx + C*y + N= 34 and

Ax + By + C*z + M = 27

where N and M are small random numbers (noise in the pixel measurement).

To estimate the middle two pixels of the unblurred image, you have to solve the above equations for x and y. You only know A B and C but you (often) can assume that w, x,y,z are zero or positive and that N and M are fairly small. Even if you are really good at linear algebra, solving the above two equations for the two to six unknowns is il-posed.

If you get enough pixels (say more than the width of the blur), you can get away from having to solve for edge pixels like w and z and you can get approximate solutions like using the Wiener filter.

I have been assuming you know the blur and that the blur is the same everywhere in the image. If the blur is not the same over the image, the linear algebra tricks that make the Wiener filter don’t work and you have to selectively apply them over small enough patches that they still sort of work.

If you do not know the blur, it’s strong assumption time (also called “blind deconvolution”) and you need to consult a professional with details about your inverse problem to see how well it can be solved.

2