Too many Input Arguments Error
Afficher commentaires plus anciens
clear all; close all; clc;
img = imread("Morfoloji2.PNG");
gray=rgb2gray(img);
bin=imbinarize(gray);
binm=imcomplement(bin);
binf=imfill(binm,'holes');
[centers, radii, metric]=imfindcircles(binf,[6,50],'Sensitivity',0.60);
bint=imerode(binf,strel('disk',1));
imshow(bint);
[labeledImage, numberOfObjcts]=bwlabel(bint);
B=regionprops(labeledImage,'Perimeter','Area');
circu=[B.Perimeter.^2] ./(4*pi*[B.Area]);
% cats=cat(1,B.Centroid);
viscircles(centers, B.Area,'EdgeColor','b');
-------------------------------------------------------------------------------------------------------------------------------------------
My error is:
Error using .^
Too many input arguments.
Error in dsgsdgs (line 12)
circu=[B.Perimeter.^2] ./(4*pi*[B.Area]);
>>
2 commentaires
Daniel Pollard
le 23 Avr 2021
What does it return if you call
disp(B.Perimeter)
before the error message?
Onur Demir
le 23 Avr 2021
I got this error:
Error using disp
Too many input arguments.
Error in Morfoloji2 (line 12)
disp(B.Perimeter);
We are working together.
Réponses (2)
This means, that your B.Perimeter is not a scalar. Do you mean:
% Was: circu=[B.Perimeter.^2] ./(4*pi*[B.Area]);
circu=[B.Perimeter].^2 ./(4*pi*[B.Area]);
You have done the same at [B.Area] : If you include multiple values in the square brackets, they are concatenated to a vector.
2 commentaires
Onur Demir
le 23 Avr 2021
Thank you for answer. Its worked 👍
Stephen23
le 23 Avr 2021
-> This means, that your structure B is not a scalar.
Walter Roberson
le 23 Avr 2021
circu=[B.Perimeter].^2 ./(4*pi*[B.Area]);
1 commentaire
Onur Demir
le 23 Avr 2021
Thank you for answer. Its worked 👍
Catégories
En savoir plus sur Performance and Memory 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!