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

What does it return if you call
disp(B.Perimeter)
before the error message?
Onur Demir
Onur Demir 2021년 4월 23일
I got this error:
Error using disp
Too many input arguments.
Error in Morfoloji2 (line 12)
disp(B.Perimeter);
We are working together.

댓글을 달려면 로그인하십시오.

답변 (2개)

Jan
Jan 2021년 4월 23일
편집: Jan 2021년 4월 23일

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

Onur Demir
Onur Demir 2021년 4월 23일
Thank you for answer. Its worked 👍
Stephen23
Stephen23 2021년 4월 23일
-> This means, that your structure B is not a scalar.

댓글을 달려면 로그인하십시오.

Walter Roberson
Walter Roberson 2021년 4월 23일

1 개 추천

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

카테고리

도움말 센터File Exchange에서 Performance and Memory에 대해 자세히 알아보기

태그

질문:

2021년 4월 23일

댓글:

2021년 4월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by