get values proportional to most occurence
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Gautam Vallabha
2011-3-29
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.
采纳的回答
Gautam Vallabha
2011-3-29
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 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!