Partage
  • Partager sur Facebook
  • Partager sur Twitter

Traitement d'image

Quantification à pas variable d'une image en nuance de gris

    5 octobre 2021 à 19:06:45

    Bonsoir à tous, 

    je cherche à coder en Python une fonction qui permettrait de quantifier une image (matrice 2D avec numpy).

    Contraintes :

    • Quantification sur "n" niveaux en découpant l'histogramme de l'image en "n" classes d'effectifs comparables 

    • attribuer la moyenne à chaque classe. 

    J'ai déjà codé une quantification à pas constant : 

    def quantify1(i,n):
        q=zeros((i.shape[0],i.shape[1]))
        for k in range(i.shape[0]):
            for l in range(i.shape[1]):
                q[k,l]= 255/n*int(round(i[k,l]*(n/255)))
        return q

    Qui fonctionne bien. 

    Mon idée : parcourir l'histogramme (abscisses) et avoir un seuil... empiler les pixels dans des "boîtes" et une fois le seuil dépassé, passer à l'autre classe. 

    On conserve les bornes pour ensuite faire une moyenne entre chaque bornes... 

    Cependant je ne m'en sort pas avec cet algo. Pouvez-vous m'aider ? Ci-dessous l'algo de l'histogramme :

    def histogramme(i):
        histo = np.zeros(256, int)      
        for i in range(0,i.shape[0]):       
            for j in range(0,i.shape[1]):  
                histo[int(round(y[i,j]))]+=1
        return(histo)


    Merci d'avance !



    • Partager sur Facebook
    • Partager sur Twitter

    Traitement d'image

    × 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