get values proportional to most occurence
1 view (last 30 days)
Show older comments
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 Comment
Gautam Vallabha
on 29 Mar 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.
Accepted Answer
Gautam Vallabha
on 29 Mar 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 Comments
More Answers (1)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!