getting a binary image from a spectrogram image that shows frequency only above certain amplitude (in percent).

3 views (last 30 days)
Here is what I have done so far.
[W,fs]=wavread(FileName); %this reads a wave file
[~,~,~,P]=spectrogram(W(:,end),tres,tres/2,fres,fs); %tres is time resolution and %fres is frequency resolution.
I=flipud(-log(P)); %here 'I' gives the spectrogram image in a matrix.
imshow(I,[]); %this line will display the image.
now say I want only the top 10% of the amplitude in binary image what would be the efficient way to do it? Please look into my code. I think I calculate my spectrogram image slightly different.

Answers (0)

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!