Comme expliqué par les commentaires, il semble y avoir aucun moyen direct d'interroger la figure créée par rectangle
et extraire x/y. D'autre part, je peux penser à deux stratégies simples pour arriver à des coordonnées qui vont reproduire de près la courbe générée avec rectangle:
(1) Enregistrer la figure sous forme d'image (par exemple .png) et traiter l'image pour extraire points correspondant à la courbe. Un certain degré de massage est nécessaire, mais c'est relativement simple s'il est émoussé et je m'attends à ce que le code soit un peu lent à l'exécution par rapport à l'obtention de données à partir d'un objet axes.
(2) Écrivez votre propre code pour dessiner un rectangle avec des bords courbes. Tout en recréant exactement ce que matlab dessine peut ne pas être si simple, vous pouvez être satisfait de votre propre version. Que vous choisissiez l'une de ces approches se résume à (a) quelle vitesse d'exécution vous considérez acceptable (b) à quel point vous devez répliquer ce que rectangle
dessine sur l'écran (c) si vous avez des routines de traitement d'image, disons pour lire un fichier image.
Modifier
Si vous avez la boîte à outils de traitement d'image, vous pouvez arriver à un ensemble de points représentant le rectangle comme suit:
h=rectangle('Position',[0,-1.37/2,3.75,1.37],...
'Curvature',[1],...
'LineWidth',1,'LineStyle','-')
daspect([1,1,1])
axis off
saveas(gca,'test.png');
im = imread('test.png');
im = rgb2gray(im);
figure, imshow(im)
Notez que vous aurez toujours besoin d'appliquer un seuil sélectionnez les points pertinents de l'image, puis transformez le système de coordonnées et réorganisez les points afin de les afficher correctement en tant qu'ensemble connecté. Vous voudrez probablement aussi bricoler avec la résolution du fichier image initial ou appliquer des fonctions de traitement d'image pour obtenir une courbe régulière.
Vous devez clarifier votre question; les coordonnées x et y du rectangle ont été données par vous dans la commande 'rectangle'? Ou demandez-vous quelque chose d'autre? – jazzbassrob
En voyant le texte d'aide de la fonction 'rectangle', je suis tombé sur la phrase qui dit" L'objet RECTANGLE ne rendra pas aux axes Voir les angles autres que [0 90] ". Cela m'amène à croire qu'il utilise une sorte de rendu spécial, pas d'intrigue. Donc, vous ne pouvez probablement pas obtenir les coordonnées x et y. – radarhead
Je dois obtenir deux ensembles de coordonnées, x et y, qui dessinent la même figure, c'est-à-dire les coordonnées de tous les points de ce rectangle de coin arrondi. – bordart