I keep receiving an error saying "execution of script drawpolygon as a function is not supported", even though it has previously worked.

1 次查看(过去 30 天)
My code:
for k=1:3
c{k} = zeros(1,3);
end
for k = 1:3
tmp = input(['Press any key to draw Polygon # ' int2str(k) ': ']);
close all, imshow(I), title(['Polygon # ' int2str(k)])
h = drawpolygon;
% The vertices of k-th polygon is recorded in polyin{k}
polyin{k} = polyshape(h.Position); % create a polygon object
[cx,cy] = centroid(polyin{k});
c{k}(1:2) = round([cx cy],0); % unit: pixels
c{k}(3) = round(area(polyin{k}),0)*p2cm; % unit: cm^2
if k==3
tmp = input('Press any key to complete.')
end
disp(['Centroid of polygon: [' int2str([cx cy]) ']'])
disp(['Area of polygon = ' int2str(c{k}(3)) 'cm^2'])
end
The error:
The code is being used to draw 3 different polygons on one image.
Thanks!

采纳的回答

KSSV
KSSV 2022-3-7
编辑:KSSV 2022-3-7
It looks like you have named the present code as drawpolygon. No you should not name it on that name as drawpolygon is a inbuilt function. Rename the present file into a different name, then run and see.

更多回答(1 个)

Jan
Jan 2022-3-7
编辑:Jan 2022-3-7
The message means, that drawpolygon is a script. Then it does not have input nd output arguments:
h = drawpolygon;
% ^^^ omit this
But you do need the handle h later. Therefore I guess, that the line, which defines the script as a function was deleted by accident. What is the contents of drawpolygon.mlx?

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by