how to solve not enough input argument error?
조회 수: 2 (최근 30일)
이전 댓글 표시
I am getting this error while trying to run the code below
Error using /
Not enough input arguments.
Error in filex(line 241)
col = (s.MajorAxisLength/2)*cos(theta);
% Calculate centroid, orientation and major/minor axis length of the ellipse
s = regionprops(binaryImage,{'Centroid','Orientation','MajorAxisLength','MinorAxisLength'});
% Calculate the ellipse line
theta = linspace(0,2*pi);
col = (s.MajorAxisLength/2)*cos(theta);
row = (s.MinorAxisLength/2)*sin(theta);
M = makehgtform('translate',[s.Centroid, 0],'zrotate',deg2rad(-1*s.Orientation));
D = M*[col;row;zeros(1,numel(row));ones(1,numel(row))];
댓글 수: 1
KSSV
2022년 12월 18일
What you are showing is a prt of code. Show us the full code with full error. The error is becuase to a function sufficient number of inputs are not passed.
채택된 답변
Stephen23
2022년 12월 18일
Your code is not written to handle cases when s is non-scalar. Your code assumes that s is scalar, but does not check this an any way.
The error is very simple to reproduce, because s is empty (i.e. REGIONPROPS did not detect anything):
s = struct('MajorAxisLength',{})
theta = linspace(0,2*pi);
col = (s.MajorAxisLength/2)*cos(theta)
You need to decide what your code should do when s is non-scalar: throw an error or do some alternate processing.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!