How to extract highest intensity area from a greyscale spectrogram?
Mostrar comentarios más antiguos
Hello.
I got greyscale mel-spectrograms images from a dataset and I want to divide it into several areas and to obtain the area where pixels have highest intensity in average.
This will be useful to label the images with rectangles for a deep learning training.
Hope somebody will help me.
I attach a greyscale spectrogram I got where you can show me the way to do it.
Thank you.
Respuesta aceptada
Más respuestas (1)
KALYAN ACHARJYA
el 22 de En. de 2021
Editada: KALYAN ACHARJYA
el 22 de En. de 2021
1 voto
- Apply thresholding to cluster the image into two segment, certain higher pixel and lower value pixels.
- Get the largest blob as per requirement. (bwareafilt function)
What does "Major Intensity" mean here?
5 comentarios
Claudio Eutizi
el 22 de En. de 2021
KALYAN ACHARJYA
el 22 de En. de 2021
Editada: KALYAN ACHARJYA
el 22 de En. de 2021
Lets say, the grayscale image is grayImage
temp=grayImage;
extract_roi=grayImage==max(grayImage(:));
temp(~extract_roi)=0;
imshow(temp); % Extracted ROI Image as temp variable
Claudio Eutizi
el 22 de En. de 2021
Editada: Claudio Eutizi
el 22 de En. de 2021
KALYAN ACHARJYA
el 23 de En. de 2021
Editada: KALYAN ACHARJYA
el 23 de En. de 2021
"but this code you wrote here shows a black image".
Most probably, there is only one maximum value pixel, so it is not easily visualized (check carefully). You can confirm the same with the extract_roi matrix, which must be the non-zero matrix.
Claudio Eutizi
el 23 de En. de 2021
Categorías
Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
