Surface roughness and gaussian filtering

9 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2020-6-22
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 个评论
NGUEUKO  Francis Darryl
@Image Analysti still need more help sir, thanks.
couldnot attach my m.file
Image Analyst
Image Analyst 2021-8-23
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matched Filter and Ambiguity Function 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by