7
votes

MATLAB: Affiche une image dans sa taille d'origine

Pouvons-nous montrer une image dans sa taille d'origine dans Matlab?

À l'heure actuelle, lorsque nous montrons, il est équipé de la taille de la fenêtre d'image. Cependant, je veux montrer l'image dans sa taille d'origine. Lorsque l'image est de plus grande taille, une barre de défilement doit apparaître dans la fenêtre d'image. Cela permettrait à l'utilisateur de voir l'image dans sa taille d'origine.

Des idées sur la façon d'y parvenir? Est-ce possible?


0 commentaires

6 Réponses :


8
votes

Je crois ce que vous recherchez est le IMTOOL < / a> utilitaire (qui fait partie du Boîte à outils de traitement d'image ). C'est une interface graphique MATLAB qui vous permet de visualiser des images dans leur taille d'origine (grossissement à 100%) avec des curseurs horizontaux et verticaux.

EDIT:

La solution ci-dessus affiche votre image dans une nouvelle fenêtre Figure (l'interface graphique IMTOOL). Si vous ne voulez pas que l'image figurant dans une nouvelle fenêtre, mais que vous souhaitez plutôt régler sa taille dans une fenêtre à vous, ce sera plus difficile. Pour ajuster la taille de l'image, que je suppose que vous avez affiché sur un ensemble d'axes à l'aide de image commande, vous devrez régler un certain nombre de propriétés d'axes pour les axes contenant l'image. Ce qui suit sont les propriétés dont vous finirez probablement de modifier:


1 commentaires

Il devrait peut-être signalé que IMTool est dans la boîte à outils de traitement d'image.



2
votes

Le curseur MATLAB a un problème qu'il incendie du rappel uniquement sur MouseUp et non sur MouseMove, la mise en œuvre de MATLAB donc pure serait toujours étrange.

Better Way - Go pour Java à Matlab. Donc, vous n'avez pas à ré-implémenter des logiques de défilement entières. Vous pouvez mettre un composant GUI swing Java à l'intérieur de la fenêtre Matlab, ce n'est pas du tout difficile.

Spécifiquement, vous devez utiliser Swing JSCrollPane classe. Avec MATLAB Javacomponent () Fonction Vous pouvez la mettre à l'intérieur de la fenêtre Matlab.

Il existe des tonnes d'exemples sur la bande sur la manière d'obtenir une image dans une vitre de défilement, viennent de naviguer sur jscrollpane image . Vous pouvez utiliser des classes Java à l'intérieur MATLAB avec la syntaxe MATLAB habituelle (pas besoin de Nouveau mot-clé, ECC.)


1 commentaires

FYI, il y a un moyen d'avoir un curseur MATLAB exécuter un rappel lors de la traînée, adressée ici: dans matlab, comment pouvez-vous avoir un rappel Exécuter pendant qu'un curseur est en train d'être traîné?



1
votes

essayer: figure, imshow (votre_Image), image axe Cela modifie l'axe d'image sur la taille d'origine


0 commentaires

1
votes

Ce code du forum de réponses de Matlab crée une fenêtre dans laquelle l'image est affichée à la résolution natif (100%), et donne également une fenêtre "Navigation" indiquant où votre section vue de l'image (dans la fenêtre principale) s'intègre dans la image entière. xxx

( Forum Post Link )


0 commentaires


0
votes

Il y a 3 choses à prendre en charge afin d'afficher l'image dans sa taille d'origine (1: 1):

  • la taille et les unités de la figure.
  • la taille et les unités des axes.
  • le rapport de format de données Axes.

    Une fois que tout cela est défini en fonction de la taille de l'image, même à l'aide de la fonction Image () de MATLAB, une fonction peut générer 1: 1 affichage d'une image.

    Voici le code d'exemple: xxx

    résultat (basé sur l'image - Paysage par Romain Vanur ):

    Paysage par Romain Vanur

    Le code complet de Mon Dépassible de pile Q1427602 GitHub Repository .


0 commentaires