Too many Input Arguments Error

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

What does it return if you call
disp(B.Perimeter)
before the error message?
Onur Demir
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.

Connectez-vous pour commenter.

Réponses (2)

Jan
Jan le 23 Avr 2021
Modifié(e) : Jan le 23 Avr 2021

2 votes

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
Onur Demir le 23 Avr 2021
Thank you for answer. Its worked 👍
Stephen23
Stephen23 le 23 Avr 2021
-> This means, that your structure B is not a scalar.

Connectez-vous pour commenter.

Walter Roberson
Walter Roberson le 23 Avr 2021

1 vote

circu=[B.Perimeter].^2 ./(4*pi*[B.Area]);

Catégories

En savoir plus sur Performance and Memory dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by