Comment fonctionne le chemin de la récupération de travailler à l'aide de imread et imwrite?
Je sais comment imread
et imwrite
fonctionne, mais je ne sais pas où faire l'appel de la fonction le fichier image à partir? En d'autres termes, où puis-je stocker l'image afin de l'appeler à l'aide imread
?
Vous devez vous connecter pour publier un commentaire.
Comme Adam suggère vous pouvez modifier l'Matlab répertoire de travail de l'emplacement de vos images ou de ce que j'ai tendance à faire est d'obtenir à l'utilisateur de sélectionner le fichier à lire à l'aide de
uigetfile
ou si vous connaissez le répertoire pour les images que vous voulez lire vous pouvez stocker dans une variable, puis vous pourriez obtenir une liste d'images dans ce répertoire à l'aide de
dir
à partir de là, vous pouvez faire une boucle par
imageList
et de traiter chaque image trouvée. Enfin,vous pouvez utiliser
uigetdir
à demander à l'utilisateur la direcotory contenant l'ensemble des images.Vous pouvez passer à la fois absolue et relative des chemins d'accès aux fichiers de IMREAD et IMWRITE. Par exemple, un chemin d'accès absolu serait:
Si vous avez déjà changé le répertoire de travail courant dans MATLAB "C:\mywork\matlab", puis un chemin d'accès relatif (relative au répertoire courant) serait:
Aussi, une autre chose à considérer est la façon dont votre chemin chaînes de travail sur différentes plates-formes. Par exemple, un Windows chemin d'accès relatif serait:
Mais un UNIX chemin d'accès relatif serait:
Avis on utilise une barre oblique inverse et on utilise une barre oblique. Pour vous assurer que votre code fonctionne sur plusieurs plates-formes, je voudrais vérifier ces fonctions MATLAB pour traiter avec les chemins d'accès aux fichiers (pour n'en nommer que quelques-uns): FULLFILE, FILEPARTS, FILESEP.
Par défaut
imread()
regarde les images dans le répertoire de travail courant. Un très chose sensée à faire est de donnerimread
le chemin d'accès absolu à chaque image.En supposant que vous êtes sur windows, vous pouvez faire quelque chose comme ceci:
De cette façon, si vous décidez de déplacer vos images vers un autre répertoire, vous ne avez besoin de changer une ligne de code.
D'autres réponses ont discuté de l'idée que matlab va chercher dans le répertoire courant pour tous les fichiers à charger.
Si vous n'êtes pas sûr de ce que le répertoire courant est, à l'invite de commandes, tapez
Ce sera de retour le répertoire courant. La commande cd, lorsqu'il est utilisé sans argument, affiche également le nom du répertoire courant. le lecteur de cd peut vous aider à vous déplacer dans un répertoire différent, lorsque cela est approprié. Et bien sûr, si vous n'êtes pas sûr des noms de ces fichiers dans un répertoire, dir va vous y aider.
Si vous préférez utiliser un répertoire de pile, pushd et popd sont des fonctions très pratiques à télécharger.
http://www.mathworks.com/matlabcentral/fileexchange/8103
Si matlab ne trouve pas le fichier en question, et vous n'avez pas spécifié un chemin d'accès absolu, peut-être généré par uigetfile, alors qu'il va chercher à d'autres répertoires sur votre chemin de recherche. Une autre idée est que, si souvent, vous voulez charger des fichiers dans un répertoire spécifique, vous pouvez simplement ajouter ce répertoire à votre chemin de recherche. addpath, rmpath, savepath, et pathtool va tous être des outils utiles ici.
cd
affiche le répertoire de travail courant. Placez vos fichiers dans n'.Alternativement, changer de répertoire pour celui que vous voulez d'abord:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/cd.html