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

3 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

KSSV
KSSV el 7 de Mzo. de 2022
Editada: KSSV el 7 de Mzo. de 2022
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.

Más respuestas (1)

Jan
Jan el 7 de Mzo. de 2022
Editada: Jan el 7 de Mzo. de 2022
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?

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by