How to extract highest intensity area from a greyscale spectrogram?
Ältere Kommentare anzeigen
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.
Akzeptierte Antwort
Weitere Antworten (1)
KALYAN ACHARJYA
am 22 Jan. 2021
Bearbeitet: KALYAN ACHARJYA
am 22 Jan. 2021
1 Stimme
- 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 Kommentare
Claudio Eutizi
am 22 Jan. 2021
KALYAN ACHARJYA
am 22 Jan. 2021
Bearbeitet: KALYAN ACHARJYA
am 22 Jan. 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
am 22 Jan. 2021
Bearbeitet: Claudio Eutizi
am 22 Jan. 2021
KALYAN ACHARJYA
am 23 Jan. 2021
Bearbeitet: KALYAN ACHARJYA
am 23 Jan. 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
am 23 Jan. 2021
Kategorien
Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
