simulink double value into a logical type error
Show older comments
if true
function y = ratioimg(u)
[L2,num2]=bwlabel(u,8); %連通區域標記
B2=false(size(u));
for i=1:num2
[r,c] = find(L2==i);
left = min(c);
right = max(c);
up = min(r);
down = max(r);
d = (down-up) / (right-left);
if d > 0.7 & d < 1.42
% [x,y]=find(L2==i); % Done above already
B2 = B2 + bwselect(u, c, r, 8); %%%把滿足長寬比在0.8到2的區域留下
end
end
y = B2;
end
i use this function on the simulink but show the error
7 Comments
Birdman
on 30 Jan 2018
Can you share your simulink model?
KAI XUN CAI
on 30 Jan 2018
KAI XUN CAI
on 30 Jan 2018
KAI XUN CAI
on 30 Jan 2018
Birdman
on 30 Jan 2018
Which line the conversion will take place? Be more specific.
KAI XUN CAI
on 30 Jan 2018
Answers (1)
Fangjun Jiang
on 30 Jan 2018
B2 is logical.
B2 = B2 + bwselect(u, c, r, 8)
should be
B2 = or(B2,bwselect(u, c, r, 8))
Categories
Find more on Unit Conversions 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!