matlab code sharpening a image?
2 views (last 30 days)
Show older comments
ayesha younis
on 1 Jan 2016
Commented: Image Analyst
on 2 Jan 2016
please tell me the matlab code for a single image sharpening?
0 Comments
Accepted Answer
Image Analyst
on 1 Jan 2016
You can use conv2() or imfilter(). For example
kernel = -1 * ones(3)/9
kernel(2,2) = 8;
kernel = kernel / sum(kernel(:)); % Normalize sum to 1.
% High frequency boost filter
sharpenedImage = conv2(double(grayImage), kernel, 'same');
imshow(sharpenedImage);
That's one way. Or you can use a Difference of Gaussians image built with two calls to imgaussfilt(), or two to fspecial and then one to imfilter (which might be faster than two imgaussfilt() calls).
2 Comments
Image Analyst
on 2 Jan 2016
I did write down the code. The flow is basically you're computing the average difference between a pixel and it's 8 neighbors - this is the Laplacian, which is the high frequencies. Then you're adding back in the original image so that you now also have the low frequencies. Result is the original image with boosted high frequencies. I'll let you draw the flow chart.
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!