title: Image deblurring using cepstrum analysis in MATLAB
body: <p>I'm trying to deblur an image I've blurred using gaussian filter, but using cepstrum analysis in MATLAB. So far I tried using "cceps" but there's a problem:</p>
  
  <pre><code>Error using  - 
  Matrix dimensions must agree.
  
  Error in cceps&gt;rcunwrap (line 149)
  y(:) = y(:)' - pi*nd*(0:(n-1))/nh;
  
  Error in cceps (line 80)
  [ah,nd] = rcunwrap(angle(h));
  </code></pre>
  
  <p>My image is 512x512 double. I only saw array usage in cepstrum analysis. I'm trying to "cceps(y)-cceps(h)" (y: blurred image, h: gaussian filter) then "icceps" to get the deblurred (original) image.<br>
  Is there any way to use cceps and icceps for images? 
  Also I tried applying the cceps algorithm;</p>
  
  <pre><code>Y=fftshift(fft2(y)); % Compute Fourier transform
  CY=fftshift(ifft2(log(abs(Y)))); % Compute blurred image cepstrum
  H=fftshift(fft2(h));
  CH=fftshift(ifft2(log(abs(H)))); % Compute filter cepstrum
  CX=CY-CH;
  </code></pre>
  
  <p>after this line I don't know how I can take the inverse cepstrum. There are some problems with unwrapping also, but I can't think of any way.</p>