simulink double value into a logical type error
Afficher commentaires plus anciens
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 commentaires
Birdman
le 30 Jan 2018
Can you share your simulink model?
KAI XUN CAI
le 30 Jan 2018
KAI XUN CAI
le 30 Jan 2018
KAI XUN CAI
le 30 Jan 2018
Birdman
le 30 Jan 2018
Which line the conversion will take place? Be more specific.
KAI XUN CAI
le 30 Jan 2018
Réponses (1)
Fangjun Jiang
le 30 Jan 2018
B2 is logical.
B2 = B2 + bwselect(u, c, r, 8)
should be
B2 = or(B2,bwselect(u, c, r, 8))
Catégories
En savoir plus sur Unit Conversions dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!