Partage
  • Partager sur Facebook
  • Partager sur Twitter

inversion d'une matrice

    17 février 2016 à 22:33:43

    Bonjour, je souhaite pouvoir inverser la matrice que j'obtiens a partir d'une image, c'est a dire que lorsque l'on a 0, le 0 se tranforme en  et inversement

    # creation matrice
    fichier=open('bateau.pbm','r')
    
    
    ligne= fichier_image.readline()
    
    
    taille = ligne.split(' ')
    largeur = int(taille[0])
    hauteur = int(taille[1])
    
    image_bateau = [[ 0 ]* largeur for i in range(hauteur)]
    
    for i in range(hauteur):
        ligne = fichier_image.readline()
        for j in range(largeur):
            image_bateau[i][j] = int(ligne[j])
    fichier_image.close()
    
    
    print(image_bateau)
    fichier_image.close()
    
    # inversion matrice
    
    for i in range(image_bateau):
        if image_cerlce[i] ==1:
            image_cercle[i] = 0
    print(image_bateau)

    pour l'inversion je n'arrive pas trop, bien que je vois le principe. Parcourir les différents listes, et inverser 0 par 1 ou l'inverse

    Pouvez vous me venir en aide ?

    merci d'avance :)

    MERCI

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      18 février 2016 à 0:06:16

      Hello,

      en supposant que ton image_bateau soit une liste à deux dimensions et que tu souhaites retourner la même liste en inversant les 0 et les 1, tu pourrais faire quelque chose comme ca :

      for i in range(len(image_bateau)):
          for j in range(len(image_bateau[i])):
              image_bateau[i][j] = 1 - image_bateau[i][j]

      Tu ne peux pas faire range(image_bateau) car un range à besoin d'un entier or tu lui donnes une liste. len() te retourne la taille de la liste donc tout va bien. Deux boucles pour parcourir ta liste étant donné qu'elle est à deux dimension, puis on inverse.

      Tu pourrais aussi le faire avec des enumerate mais c'est juste une autre syntaxe, ça ne change rien au principe.

      • Partager sur Facebook
      • Partager sur Twitter

      inversion d'une matrice

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown