Borrar filtros
Borrar filtros

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

1 visualización (ú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?

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

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