"find" is not finding what I want it to?
2 次查看(过去 30 天)
显示 更早的评论
I have a data set of 8341 numbers and I want to create two vector of the numbers between 3 and 200, and another of the numbers outside of that range. AI is the area included (between 3 and 200), and AE is the area excluded (below 3 or above 200) but when I run them they keep giving me the same amount (8341). Any idea what's going on?
I'm trying to plot the area included as a yellow ellipse, and the area excluded as a green ellipse.
s = regionprops(BW, 'Area','Orientation', 'MajorAxisLength', ...
'MinorAxisLength','Area', 'Eccentricity', 'Centroid');
hold on
phi = linspace(0,2*pi,50);
cosphi = cos(phi);
sinphi = sin(phi);
areas=[s.Area]
AI=find(3<areas<200);
AE=find(3.0>areas<200);
for k = AI
xbar = s(k).Centroid(1);
ybar = s(k).Centroid(2);
a = s(k).MajorAxisLength/2;
b = s(k).MinorAxisLength/2;
theta = pi*s(k).Orientation/180;
R = [ cos(theta) sin(theta)
-sin(theta) cos(theta)];
xy = [a*cosphi; b*sinphi];
xy = R*xy;
x = xy(1,:) + xbar;
y = xy(2,:) + ybar;
plot(x,y,'y','LineWidth',2);
hold on;
end
hold on
for k = AE
xbar = s(k).Centroid(1);
ybar = s(k).Centroid(2);
a = s(k).MajorAxisLength/2;
b = s(k).MinorAxisLength/2;
theta = pi*s(k).Orientation/180;
R = [ cos(theta) sin(theta)
-sin(theta) cos(theta)];
xy = [a*cosphi; b*sinphi];
xy = R*xy;
x = xy(1,:) + xbar;
y = xy(2,:) + ybar;
plot(x,y,'g','LineWidth',2);
hold on;
end
0 个评论
采纳的回答
Image Analyst
2021-11-12
Try this:
logicalIndexes = areas > 3.0 & areas < 200;
AI=find(logicalIndexes); % Indexes within the area range.
AE= find(~logicalIndexes); % Indexes outside the area range.
0 个评论
更多回答(1 个)
Chunru
2021-11-12
编辑:Chunru
2021-11-12
Try the following:
AI=find(3.0<areas & areas<200);
% AE=find(3.0>areas & areas<200);
AE=find(3.0>areas | areas<200);
4 个评论
Image Analyst
2021-11-12
@Kristin Aldridge, yes I did. Perhaps you overlooked it below. Maybe you could "Accept" it, or at least "Vote" for it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Performance 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!