processing image with deconvolution.

6 views (last 30 days)
Tricky
Tricky on 17 May 2012
Hi..
Image after applying unsharp filter: http://tinypic.com/r/14bib77/6
EDIT DES: Embedded correct filtered figure (despite being ugly)
Currently working with deblurring a image and Not satisfied with result obtained using unsharp filter.
So, thought to go with deconvolution process for a better result. How to find PSF of image ?

Answers (1)

Image Analyst
Image Analyst on 17 May 2012
What do you want to do? I imagine deblurring is just one step in what you really want to accomplish. How about focusing your camera to avoid blurring in the first place. While you're at it, reduce the exposure. Those two steps should get you a better image of the disc to begin with and it's always better to fix problems on acquisition than afterwards. MATLAB does have a Lucy-Richardson deconvolution - check the demos/examples online or in the help.
  7 Comments
Image Analyst
Image Analyst on 20 May 2012
Tricky, Sorry that you did not follow my suggestion and look up the help item I referred you to: From the help for "Deblurring with the Blind Deconvolution Algorithm" If you had, you would have seen "sleeve." Note that when I said "From the help....." and then put double quotes around it, that indicates that it is a direct quote from the help. In other words, I copied and pasted from the help. You can get there by searching for deblurring and clicking on the first item you see, or else navigate there like this Image Processing Toolbox => User's Guide => Image Deblurring => Deblurring with the Blind Deconvolution Algorithm.
Tricky
Tricky on 21 May 2012
Using Deblurring with the Blind Deconvolution :
''INITPSF is calculated by seeing the width of blur in pixels and was 20 pixels in a row =>INITPSF = ones(20:20)''; and gave the results like this
clc;
clear all;
i=imread('L3S3T1.jpg');
i=rgb2gray(i);
INITPSF = ones(20:20);
[J P]= deconvblind(i,INITPSF);
figure(1),subplot(2,2,1); imshow(J),title('Restored Image');
figure(1),subplot(2,2,2);imshow(P,[],'InitialMagnification','fit'),title('Restored PSF');
WEIGHT = edge(i,'sobel',.3);
se = strel('disk',2);
WEIGHT = 1-double(imdilate(WEIGHT,se));
WEIGHT([1:3 end-[0:2]],:) = 0;
WEIGHT(:,[1:3 end-[0:2]]) = 0;
figure(1),subplot(2,2,3);imshow(WEIGHT);title('Weight array');
result image: http://tinypic.com/r/2lo3n1y/6
I was unable to continue forward with this results.How to improve the results ?

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!