Surface roughness and gaussian filtering
9 views (last 30 days)
Show older comments
Doyinsola Oduwole
on 22 Jun 2020
Commented: Image Analyst
on 23 Aug 2021
I'm trying to measure surface roughness from an image. I want to carry out gaussian filtering and according to literature, gaussian filtering gives the waviness profile and subtracting the waviness from the primary profile would give the roughness profile.
Does imgaussfilt work in the same way? I obtained a filtered image and then going on to subtract gives me a black image.
function gauss
I = imread('/Users/doyindav/Desktop/qualitymap.bmp');
sigma = 1;
%cutoff = 0.08;
h = imgaussfilt(I,'Filtersize',sigma);
new_image = imsubtract(I,h);
montage([I,new_image])
end
0 Comments
Accepted Answer
Image Analyst
on 22 Jun 2020
Your blur wasn't big enough, plus your difference values were all zero because you didn't blur it enough. This works:
% grayImage = imread('/Users/doyindav/Desktop/qualitymap.bmp');
grayImage = imread('moon.tif'); % Demo image.
subplot(1, 3, 1);
imshow(grayImage);
[blurredImage, subtractedImage] = gauss(grayImage);
subplot(1, 3, 2);
imshow(blurredImage);
subplot(1, 3, 3);
imshow(subtractedImage, []);
function [blurredImage, new_image] = gauss(grayImage)
sigma = 15;
%cutoff = 0.08;
blurredImage = imgaussfilt(grayImage,'Filtersize', sigma);
new_image = imsubtract(grayImage, blurredImage);
end
7 Comments
NGUEUKO Francis Darryl
on 23 Aug 2021
@Image Analysti still need more help sir, thanks.
couldnot attach my m.file
Image Analyst
on 23 Aug 2021
Why not? Did you use the paperclip icon? It should let you attach the m-file.
Why does the code appear in the command window also? Did you have "echo on" or did you paste it there?
How did you try to run demo.m? Did you click the green run triangle on the toolbar? That should run and have no errors.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!