Evaluation of image segmentation without using a model

Hello guys, I've been trying to see who is better at image segmentation is it using only the green channel mask the whole image mask
here is my code for segmentation using green channel
I=imread(image);
g=I(:, :, 2);
%binarizing images
gg=imbinarize(rescale(g));
SE=strel('disk',5);
%green
gg=imopen(gg,SE);
gg=imdilate(gg,SE);
gg = bwareafilt(gg,1);
maskedRgbImageg= imoverlay(I,gg,'k');
my segmentation code using the whole image
I=imread(image);
gray=rgb2gray(I);
%binarizing images
graym=imbinarize(rescale(gray));
SE=strel('disk',5);
graym=imopen(graym,SE);
graym=imdilate(graym,SE);
graymmaskedRgbImageg= imoverlay(I,graym,'k');
and now I don't know how to evalute each one segmentation using the metrics, is there is any methode that can show me who segments better. thank you in advance

2 comentarios

DGM
DGM el 12 de Mayo de 2022
Editada: DGM el 12 de Mayo de 2022
That's entirely dependent on the image, the content, and the intent. It's not clear what those are, and it's not clear what "the metrics" are either.
Just grabbing an offhand color image,
I get this:
I = imread('jagblobs.png');
g = I(:, :, 2);
%binarizing images
gg = imbinarize(rescale(g));
SE = strel('disk',5);
gg = imopen(gg,SE);
gg = imdilate(gg,SE);
gg = bwareafilt(gg,1);
maskedRgbImageg = imoverlay(I,gg,'k');
imshow(maskedRgbImageg)
... and this
I = imread('jagblobs.png');
gray = rgb2gray(I);
%binarizing images
graym = imbinarize(rescale(gray));
SE = strel('disk',5);
graym = imopen(graym,SE);
graym = imdilate(graym,SE);
graymmaskedRgbImageg = imoverlay(I,graym,'k');
imshow(graymmaskedRgbImageg)
Neither of which really help to make the intent clear (the approximate removal of the largest object, maybe?).
yes I am using the bwareafilt function to keep only the largest object

Iniciar sesión para comentar.

 Respuesta aceptada

Image Analyst
Image Analyst el 13 de Mayo de 2022
I would use whatever image gave you the most contrast in what you want to find. Usually a single color channel will give you the most contrast if you're looking for something that is a single color. If you want to find multiple colors simultaneously then useing rgb2gray would probably be best. You might even be able to use PCA to get more contrast. PCA Demos attached.

4 comentarios

I agree with you and thank you for the file, but you have to know that I am using the green channel or the whole rgb mask just to get the shape of the lesion not the colors because wherever that shape is I will paint it with the original image colors
"how to evalute each one segmentation using the metrics" <== what metrics? Unless you have some known ground truth, who's to say what the right shape is? You are. For a lesion, it's probably a judgment call since there is no definite, correct answer. Anyway, it might be accurate enough for whatever you want to do. There may be no real advantage to getting to subpixel resolution.
No I do have the ground truth of masks, I just need to find a way to find wich method gives the nearest mask shape to the ground truth
You can use the dice function.

Iniciar sesión para comentar.

Más respuestas (0)

Preguntada:

el 12 de Mayo de 2022

Comentada:

el 13 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by