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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!