Je travaille sur un script de traitement d'image. Je dois laisser l'utilisateur spécifier comment remapper certaines classes dans une image via un fichier texte. La syntaxe de ce fichier doit être simple et évidente. Ce que je pensais de faire est d'obtenir l'utilisateur d'écrire la version de chaîne d'un dictionnaire:Transformation de la représentation sous forme de chaîne d'un dictionnaire dans un vrai dictionnaire
125:126, 126:126, 127:128, 128:128
puis le transformer en un véritable dictionnaire (ce qui est le chaînon manquant):
a = {125:126, 126:126, 127:128, 128:128}
Le remappage des classes de l'image serait alors fait comme ceci:
u, indices = numpy.unique(image, return_inverse=True)
for i in range(0, len(u)):
u[i] = a[u[i]]
updatedimage = u[indices]
updatedimage = numpy.resize(updatedimage, (height, width)) #Resize to original dims
Yat-il un moyen simple de faire cette transformation de la « version chaîne » à un véritable dictionnaire? Pouvez-vous penser à une syntaxe simple/alternative plus simple que l'utilisateur pourrait utiliser?
Merci, les deux fonctionnent très bien. Je préfère votre alternative; il va enregistrer une autre importation, et travailler avec une version plus ancienne ... – Benjamin