MATLAB: Help with deconvolution given the blurred image and the convolution kernel

convolutiondeconvolutionfftImage Processing Toolboxmatrix

Hi! I have a blurred image and 3 convolution kernels, 1 for each channel. I splitted the channels and then I applied a bit of convolution theory and got
D = ifft2 ( fft2(channel) .* inv(fft2(K)) );
where "channel" is the image of one of the channels, and K is the given kernel for that channel. Now I have two issues:
1 of the kernels is a 3×3 non-invertible matrix
and in all the cases the product gives me an error because the image and the kernel don't have the same size.
How can i fix this two problems? Thank you!!

Best Answer

Use padarray(K, n) to make K the same size as channel. You need to figure out what n is - it's like half the size difference.