Can i use imerode() function to perform top-hat transform?

1 visualización (últimos 30 días)
Gn Gnk
Gn Gnk el 18 de Nov. de 2020
Editada: Subhadeep Koley el 18 de Nov. de 2020
Hello ,
is it possible to perform top-hat transform without using imtophat() . I was suggested to use only the function imerode().
Can someone explain if is this correct and advice me which arguments should i put into strel() function as well?

Respuesta aceptada

Subhadeep Koley
Subhadeep Koley el 18 de Nov. de 2020
Editada: Subhadeep Koley el 18 de Nov. de 2020
You can achieve the same result as returned imtophat function only using imerode and imdilate.
% Load the image
original = imread('rice.png');
% Define the morphological structuring element (you can change it according to your application)
se = strel('disk', 12);
% Perform top-hat filtering without using imtophat(__)
openedImg = imdilate(imerode(original, se), se);
tophatFiltered1 = original - openedImg;
Now, calculate the same using imtophat
% Load the image
original = imread('rice.png');
% Define the morphological structuring element (you can change it according to your application)
se = strel('disk', 12);
% Perform top-hat filtering using imtophat(__)
tophatFiltered2 = imtophat(original, se);
Check if both approaches are giving the same results
isequal(tophatFiltered1, tophatFiltered2)
ans =
logical
1

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by