get values proportional to most occurence
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
here is my code
%Display the transform axes(handles.axes14); imshow(imadjust(mat2gray(H)),[],'XData',theta,'YData',rho,... 'InitialMagnification','fit'); xlabel('\theta (degrees)'), ylabel('\rho'); axis on, axis normal, hold on; x=theta(P(:,2)); [occ,ent]=hist(x,unique(x));
this will give me 1000 peaks as i chose 1000 for peaks
now i want to only filter out values which have an occurence more than 10 for a certain value of theta. i am quite new to matlab.
so that these are the values that are plotted on the matrix and not all the peaks are plotted on the matrix.
if you understand what i am trying to explain
y = rho(P(:,1)); plot(x,y,'s','color','red');
1 Kommentar
Gautam Vallabha
am 29 Mär. 2011
Please don't include extraneous material in your question (such as the IMSHOW and PLOT statements).
I assume your question is that you have:
[occ,ent] = hist(x, unique(x));
and you want to only extract those values of ENT where OCC > 10.
Akzeptierte Antwort
Gautam Vallabha
am 29 Mär. 2011
You can use the FIND command to identify indices that match a criterion. For example:
x = ceil(rand(1,5000)*100); % make some sample data
[occ,ent] = hist(x,unique(x)); % get the counts
Find indices where occurrences are greater than 10
indices = find(occ > 10);
Extract the associated entries
filteredOccurreces = occ(indices);
filteredEntries = ent(indices);
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!