matlab code sharpening a image?
2 次查看(过去 30 天)
显示 更早的评论
please tell me the matlab code for a single image sharpening?
0 个评论
采纳的回答
Image Analyst
2016-1-1
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 个评论
Image Analyst
2016-1-2
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!