IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Comment déterminer un noyau permettant de calculer le Laplacien d'une image


Sujet :

Traitement d'images

  1. #1
    Candidat au Club
    Homme Profil pro
    Mécanicien
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Mécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Bonjour à tous,

    Je suis actuellement en licence mécanique et j'ai un sujet de traitement d'image à réaliser. Mes connaissances en traitement d'images sont limités, même si je me suis renseigné sur les différents cours présent sur ce forum ainsi qu’ailleurs.

    Mon problème est le suivant: Je dois déterminer un noyau permettant de calculer le Laplacien d'une image et le raisonnement doit être basé les différences finies. Cependant je ne connais que mon point de départ qui est la formule des différences finies
    et dont je ne sais pas comment l'exploitée ainsi que mon point d'arrivée (Noyau).

    Merci d'avance pour votre aide !


    Base sur laquelle je m'appuis:
    Nom : Capture.JPG
Affichages : 1270
Taille : 86,6 Ko

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Bonjour

    tu peux passer par un noyau de convolution -->produit de convolution
    cf cette discussion et celle-la

    Je te conseil également de lire cet excellent article

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Candidat au Club
    Homme Profil pro
    Mécanicien
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Mécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    @BeanzMaster

    Déja merci de ta réponse et de ton aide !

    J'ai déja eu connaissance des liens que tu m'as cité dans ton post précèdent. En effet j'ai un peu ces dernières semaines, écumé les différents sujets qui abordent le traitement d'image, dans le but de répondre à ma problématique.

    Je suis arrivé au constant, que soit les différents sujets ne sont pas assez explicite dans leur approche mathématiques, soit mon bagage mathématiques n'est pas assez solide pour en comprendre les cheminement et aboutissants. J'ai une préférence pour la deuxième options.

    J'essaierai par la suite, si je trouve la réponse à ma problématique, de la retranscrire sur ce post.

    A bientôt

    François

  4. #4
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Bonjour,

    Citation Envoyé par fran_ls95 Voir le message
    ... j'ai un peu ces dernières semaines, écumé les différents sujets qui abordent le traitement d'image, dans le but de répondre à ma problématique ... / ... les différents sujets ne sont pas assez explicite dans leur approche mathématiques,
    Pour obtenir les expressions approchées des produits de convolution, il suffit de faire intervenir le développement de Taylor-Mac Laurin au 4me ordre dans le cas d'une fonction de deux variables, au voisinage du point central (0, 0) que l'on prendra pour origine.
    La difficulté réside dans la lourdeur de l'expression, qui contraint à l'emploi d'une notation condensée pour les diverses dérivées partielles (premières, secondes, tierces et quartes); avec les conventions:
    Dmn = (∂m+nU(0, 0)/∂xm∂yn) , Dm0 = ∂mU(0, 0)/∂xm , D0n = ∂nU(0, 0)/∂yn ,
    il vient pour une fonction U(x, y) 4 fois dérivable au voisinage de l'origine:
    U(x, y) = U(0, 0) + D10.x + D01.y + (1/2!)(D20.x2 + 2D11.xy + D02.y2) + ...
    ... + (1/3!)(D30.x3 + 3D21.x2y + 3D12.xy2 + D03.y3) + ...
    ... + (1/4!)(D40.x4 + 4D31.x3y + 6D22.x2y2 + 4D13.xy3 + D04.y4) + r4ε(r, x/r, y/r)

    Le document que tu cites
    Nom : Laplacien.png
Affichages : 1640
Taille : 102,1 Ko
    donne du laplacien une présentation simple mais très claire; il intervient deux matrices élémentaires:
    Nom : Matrices M1M2.png
Affichages : 1124
Taille : 2,7 Ko
    pour lesquelles les combinaisons linéaires correspondantes conduisent à la valeur locale en (0, 0) du laplacien de la fonction U(x, y):
    ΔU = (∂2U/∂x2) + (∂2U/∂y2) .
    On considère en effet les valeurs locales de la fonction U(x, y) aux noeuds d'un réseau dont le pas (h) correspond à l'arête d'un pixel, et dont les coordonnées valent (0) ou (± h):
    Nom : Centre Image.png
Affichages : 1038
Taille : 6,4 Ko
    On obtient ainsi
    a) à partir de la première matrice (M1) la somme:
    S1 = -4U(0, 0) + U(h, 0) + U(-h, 0) + U(0, h) + U(0, -h)
    dont le calcul à l'aide du développement donné plus haut conduit à l'expression:
    S1 ~ h2.(D20 + D02) + (h4/12)(D40 + D04)
    - les termes de rang impair (en x, y, x3, x2y ... etc), entre autres, disparaissent systématiquement;
    a) à partir de la seconde (M2) la somme:
    S2 = -4U(0, 0) + U(h, h) + U(h, -h) + U(-h, -h) + U(-h, h)
    qui donne cette fois:
    S2 ~ 2h2.(D20 + D02) + (h4/6)(D40 + D04 + 6D22) ;
    Soit finalement, compte tenu de ce que h vaut 1:
    S1 ~ ΔU + (1/12)(D40 + D04) ,
    S2 ~ 2.ΔU + (1/6)(D40 + D04 + 6D22) .
    Plus généralement, toute combinaison linéaire des deux matrices (M1, M2) donne aussi une valeur approchée proportionnelle au laplacien, à l'exception toutefois du cas très particulier:
    M° = M2 - 2.M1
    auquel correspond la somme:
    S° = S2 - 2*S1 = D22 = ∂4U(0, 0)/∂x2∂y2 .
    Calculs à vérifier.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  5. #5
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Par curiosité, j'ai regardé ce que donnait le traitement d'un portrait en noir et blanc.

    Nom : Audrey H_N & B.png
Affichages : 1020
Taille : 379,4 Ko

    Les transformées obtenues apparaissent assez semblables dans le cas des deux premières matrices (M1, M2):

    Nom : Laplace_M1_Min=-1422_Max=1800.png
Affichages : 1129
Taille : 658,6 Ko
    Nom : Laplace_M2_Min=-1710_Max=2445.png
Affichages : 1110
Taille : 644,9 Ko

    Le résultat est nettement plus flou dans celui de la dernière matrice (M0), qui ne représente plus un laplacien:

    Nom : Laplace_M0_Min=-1431_Max=+1497.png
Affichages : 1136
Taille : 653,1 Ko

    Les sommes d'indices de couleur calculées sont encadrées par deux bornes de signes opposés:
    Gmin <= g <= Gmax ,
    dont la valeur dépend de de l'image initiale.
    Les valeurs proches de la partie centrale (g ~ 0 , points verts) sont très largement majoritaires.
    Les points rouges (g ~ Gmax) et bleus (g ~ Gmin), très rares, ne peuvent être aperçus qu'en éliminant tous les autres.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  6. #6
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    La sélection des valeurs extrêmes de (g): (g > Lim1) ou (g < Lim2) confirme la forte concentration des valeurs autour de zéro; il faut, pour qu'un dessin lisible apparaisse, s'en tenir à des frontières relativement basses:
    # Lim1 = 0.1 * Gmax (points rouges) ,
    # Lim2 = 0.1 * Gmin (points bleus) ;
    Il n'apparaît pas de couleurs séparées, mais une teinte unique intermédiaire (violette); les points de couleurs opposées sont donc regroupés d'une manière très resserrée, ce que l'on observe sans difficulté par agrandissement des images.

    Voici les images résultant d'une petite modification du programme, et correspondant aux mêmes matrices (M1, M2) et (M0).

    M1_Nom : Laplace_M1_Lim=0.100xVmax.png
Affichages : 1013
Taille : 45,9 Ko
    M2_Nom : Laplace_M2_Lim=0.100xVmax.png
Affichages : 1068
Taille : 47,1 Ko

    M0_Nom : Laplace_M0_Lim=0.1xVmax.png
Affichages : 1182
Taille : 42,8 Ko


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  7. #7
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut intéressant comme d'hab

    En appliquant les filtres j'obtient (à l'oeil) des résultats un peu différents (et qui me semble être bon). Qu'elle en est la cause à ton avis ?

    Nom : testconvm0.jpg
Affichages : 1018
Taille : 242,2 Ko

    Nom : testconvm0a.jpg
Affichages : 1131
Taille : 288,0 Ko

    Nom : testconvm1.jpg
Affichages : 1172
Taille : 242,9 Ko

    Nom : testconvm2.jpg
Affichages : 1029
Taille : 258,5 Ko

    Merci

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  8. #8
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Bonjour,

    Citation Envoyé par BeanzMaster Voir le message
    ... En appliquant les filtres j'obtiens (à l'oeil) des résultats un peu différents (et qui me semblent être bons). Qu'elle en est la cause à ton avis ? ...
    Que les résultats soient "bons", ce n'est peut-être pas le critère le mieux approprié parce qu'une discussion peut s'engager sur des points de vue différents:
    a) L'algorithme de synthèse est-il correct ? Aucun doute là-dessus.
    b) Les bords de l'image ressortent-ils suffisamment contrastés ? C'est l'aspect graphique en principe recherché, qui s'apprécie d'un simple coup d'oeil.
    c) S'agit-il d'une belle image ? C'est l'aspect esthétique, incontournable dans le cas d'un portrait (et a fortiori dans le cas d'un très beau visage).

    Il intervient de plus un facteur inconnu en ce qui concerne la traduction graphique du calcul du laplacien: la luminance des pixels clairs est-elle fonction croissante de la combinaison linéaire (g) calculée ?
    # par exemple: Pixel(i, j) = (m, m, m) avec m = Round(255*g/Gmax)
    Ou n'a-t-on retenu que les valeurs suffisamment élevées pour le tracé des points ?
    # par les instructions du type:si (Abs(g)>Seuil) alors Pixel(i, j) = (255, 255, 255) sinon Pixel(i, j) = (0, 0, 0) ...
    L'examen des images très agrandies conduit à retenir la première hypothèse, sans exclure une possibilité d'écrêtage:
    # Pixel(i, j) = (m, m, m) avec m = Round(K*g) et si (m>255) alors m= 255
    (ce baragouin est vraiment affreux)
    et l'on doit de plus supposer, pour que la comparaison des 4 images soit possible, que le même facteur de proportionnalité (K) intervient dans leur calcul; toi seul peux apporter sur ce point un complément d'information.

    Les matrices carrées d'ordre 3 utilisées ici sont des matrices symétriques à éléments réels, centrosymétriques et à somme nulle (étendue à tous leurs éléments); elles constituent un espace vectoriel de dimension deux, et résultent toutes de la combinaison linéaire:
    Nom : Matrices_700x94.png
Affichages : 991
Taille : 14,1 Ko
    Les sommes auxquelles elles conduisent s'expriment en fonction des mêmes coefficients (en raison de la linéarité du produit matriciel):
    S(a, b) = a*S1 + b*S2, avec S1 ~ ΔU et S2 ~ 2*ΔU ,
    d'où: S(a, b) = (a + 2*b)*ΔU .

    Les images successivement produites correspondent aux coefficients suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                                    (a + 2*b)
    Image I      a = -1    b =  0      -1
    Image II     a = -1    b = -1      -3
    Image III    a =  1    b =  0       1
    Image IV     a =  0    b =  1       2
    Seule compte la valeur absolue |a + 2*b| du coefficient affectant la valeur locale du laplacien; il se confirme ainsi
    a) que les images (I) et (III) sont d'aspect équivalent, et présentent le plus faible contraste; et
    b) que la seconde présente au contraire le plus fort contraste, puisqu'elle correspond au coefficient le plus élevé (3).

    Quitte à se limiter à une matrice (3x3), je préfèrerais pour ma part la combinaison
    M(2, 1) = 2*M1 + M2
    dont les deux termes présentent une contribution égale au laplacien:
    S(2, 1) = 2*ΔU + 2*ΔU = 4*ΔU .

    PS: on retrouve au passage le mouton noir mentionné en fin du message #04 dans le cas particulier où l'on a:
    a + 2*b = 0 ;
    les calculs ne conduisent plus alors à la valeur locale du laplacien.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  9. #9
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    L'aspect de l'image obtenue dépend fortement du tri imposé aux valeurs calculées (g), lorsque l'on envisage une sélection partielle des pixels.

    Prenons l'exemple d'une partition de l'ensemble des valeurs calculées, établie sur les frontières établies à partir de la moyenne et de l'écart-type:
    { Gmoyen - Sigma , Gmoyen - Sigma/2 , Gmoyen , Gmoyen + Sigma/2 , Gmoyen + Sigma }
    et qui, dans le cas d'une distribution gaussienne, conduisent à des effectifs à peu près identiques (~ 1/6 , soit 17 %).

    On a obtenu, à partir d'une image initiale de dimensions réduites (360x293) et en utilisant la matrice (M(2, 1)) précédemment définie, les résultats suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # Nombre total de pixels calculés: Nt = 104178 ; Gmin = -4371 ; Gmax = 4083 ; Gmoy = -11.744; Gsigma = 587.102
    Nombres respectifs dans les domaines successifs:     / Loi normale
    g < M - S              N1 =  7833      7.52 %          15.87 %
    M - S < g < M - S/2    N2 =  4224      4.05 %          14.98 %
    M - S/2 < g < M        N3 = 32263     30.97 %          19.15 %
    M < g < M + S/2        N4 = 47745     45.83 %          19.15 %
    M + S/2 < M < M + S    N5 =  4277      4.11 %          14.98 %
    M + S < g              N6 =  7836      7.52 %          15.87 %
    Les proportions obtenues sont très éloignées de celles prévues par la loi normale; on observe:
    a) une surabondance considérable des valeurs proches de la moyenne (M - S/2 < g < M + S/2), dont l'effectif est doublé par rapport à ce que prévoit une distribution gaussienne;
    b) une raréfaction prononcée des valeurs intermédiaires vérifiant
    (M - S < g < M - S/2) ou (M + S/2 < g < M + S)
    par rapport au valeurs extrêmes définies par (g < M - S) ou (M + S < g),
    ces dernières apparaissant presque deux fois plus nombreuses.

    Les écarts séparant les divers effectifs sont immédiatement confirmés par les densités des images correspondantes, délibérément affectées des mêmes couleurs (pixels bleus sur fond blanc).
    On remarque de plus que seules les valeurs extrêmes font apparaître les contours.

    Nom : 1_M21_Min_Moy-Sigm_7833.png
Affichages : 1066
Taille : 9,7 Ko_Nom : 2_M21_Moy-Sigm_Moy-0.5Sigm_4224.png
Affichages : 1035
Taille : 9,7 Ko
    Nom : 3_M21_Moy-0.5Sigm_Moy_32263.png
Affichages : 984
Taille : 28,5 Ko_Nom : 4_M21_Moy_Moy+0.5Sigm_47745.png
Affichages : 1007
Taille : 29,0 Ko
    Nom : 5_M21_Moy+0.5Sigm_Moy+Sigm_4277.png
Affichages : 1012
Taille : 9,9 Ko_Nom : 6_M21_Moy+Sigm_Max_7836.png
Affichages : 1023
Taille : 9,9 Ko

    Un histogramme plus fin construit sur un domaine plus étendu, par exemple [M - 2S; M + 2S], permettrait peut-être de repérer les éventuels minimums de densité de probabilité, s'ils existent.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  10. #10
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Il n'est pas facile de trouver des références sur le développement en série de Taylor-Mac Laurin.

    La meilleure de trouve sur un site francophone (ce qui ne gâte rien), par ailleurs d'excellente qualité; voici l'expression recherchée:
    Nom : Formule Taylor 2 variables.png
Affichages : 1258
Taille : 13,2 Ko
    dans laquelle il suffit de poser: a = b = 0 , h = x , k = y
    pour retrouver la formule déjà utilisée.

    Ce lien conduit à un article contenant (p 3, 4) le début du développement symbolique, avec une notation plus proche de celle employée auparavant:
    Nom : Taylor series.png
Affichages : 1000
Taille : 25,9 Ko

    Autre document, où la formule est un peu mieux explicitée ...
    Nom : General form of the 2D Taylor series.png
Affichages : 1408
Taille : 40,3 Ko
    ... mais où chacun s'aperçoit que l'auteur s'est emmêlé les pinceaux: il faut évidemment lire en entrée de l'expression:
    f(x, y) = ...
    La dérivée d'ordre nul qui apparaît ensuite n'est autre que la fonction elle-même, dont on retient la valeur en (x0, y0):
    (∂0f/∂0x∂0y) = f(x = x0, y - y0) .

    Le vénérable Manuel des Fonctions Mathématiques d'Abramowitz & Stegun contient quelques expressions du laplacien à partir d'un nombre fini de points du plan (p 883 à 885):
    Abramowitz and Stegun, Handbook of Mathematical Functions.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  11. #11
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Reprenons le développement de U(x, y) en série de Taylor jusqu'au sixième ordre, au voisinage de l'origine (0, 0):

    U(x, y) = U(0, 0) + D10.x + D01.y + (1/2!)(D20.x2 + 2D11.xy + D02.y2) + ...
    ... + (1/3!)(D30.x3 + 3D21.x2y + 3D12.xy2 + D03.y3) + ...
    ... + (1/4!)(D40.x4 + 4D31.x3y + 6D22.x2y2 + 4D13.xy3 + D04.y4) + ...
    ... + (1/5!)(D50.x5 + 5D41.x4y + 10D32.x3y2 + 10D23.x2y3 +5D14.xy4 + D05.y5) + ...
    ... + (1/6!)(D60.x6 + 6D51.x5y + 15D42.x4y2 + 20D33.x3y3 + 15D24.x2y4 +6D15.xy5 + D06.y6) + ...

    # Si l'on veut sélectionner les dérivées de rang pair dans l'expression approchée d'une somme au voisinage d'un point donné (x0, y0), il faut combiner des termes correspondant à des décalages opposés des arguments (x, y) afin d'éliminer les termes de rang impair;
    on obtient par exemple: U(x0 + h, y0) + U(x0 - h, y0) - 2U(x0, y0) ~ h2(∂2U/∂x2)
    et symétriquement: U(x0, y0 + h) + U(x0, y0 - h) - 2U(x0, y0) ~ h2(∂2U/∂y2) ,
    ce qui conduit naturellement à une expression du laplacien:
    U(x0 + h, y0) + U(x0 - h, y0) + U(x0, y0 + h) + U(x0, y0 - h) - 4U(x0, y0) ~ h2((∂2U/∂x2) + (∂2U/∂y2)) = h2.ΔU .

    Ainsi apparaît la nécessité d'associer dans une même somme, en plus du terme central (U(x0, y0)), 4 termes correspondant à des combinaisons symétriques des arguments, soit:
    S1 = U(x0 + h, y0) + U(x0 - h, y0) + U(x0, y0 + h) + U(x0, y0 - h) - 4U(x0, y0) ~ h2.ΔU ,
    S2 = U(x0 + h, y0 + h) + U(x0 - h, y0 + h) + U(x0 + h, y0 - h) + U(x0 - h, y0 - h) - 4U(x0, y0) ~ 2h2.ΔU ,
    le nombre de termes étant porté à 8 lorsque l'on impose aux variables des décalages différents:
    S3 = U(x0 + h, y0 + h') + U(x0 - h, y0 + h') + U(x0 + h, y0 - h') + U(x0 - h, y0 - h') + U(x0 + h', y0 + h) + U(x0 - h', y0 + h) + U(x0 + h', y0 - h) + U(x0 - h', y0 - h) ...
    ... - 8U(x0, y0) ~ 2(h2 + h'2).ΔU

    C'est pourquoi l'on est amené à envisager pour les filtres des matrices carrées d'ordre impair, présentant un centre de symétrie (repéré par le couple (0, 0)) et pour lesquelles la somme étendue à tous les éléments est nulle:
    Σx=-n+ny=-n+nmx,y) = 0 (pour une matrice d'ordre 2n + 1).
    Nom : Symétries Matrice.png
Affichages : 1134
Taille : 15,8 Ko
    ces tableaux sont dotés de nombreux éléments de symétrie, parmi lesquels:
    a) les deux médianes: m-x, y = mx, y , mx, -y = mx, y;
    b) les deux diagonales: my, x = mx, y , m-y, -x = mx, y;
    c) le centre: m-x,-y = mx, y .
    Remarque: l'axe (y'y) est ici orienté vers le haut, comme pour la matrice du corps des images au format Bitmap, de sorte que la diagonale principale (d'équation y = x) est ascendante; tandis qu'en mathématiques l'indexation des lignes progresse vers le bas, ce qui conduit à une diagonale principale orientée dans la même direction.
    On est en présence d'une matrice symétrique au sens strict, parce qu'elle est égale à sa transposée (my, x = mx, y).

    # Les matrices carrées d'ordre 5 s'expriment par une combinaison linéaire de 5 matrices élémentaires de même dimension:
    Nom : Mabcde.png
Affichages : 951
Taille : 5,6 Ko
    M(a, b, c, d, e) = a.M10+ b.M20+ c.M11 + d.M22 + e.M21 ,
    avec s = 4(a + b + c + d + 2.e) ;
    Nom : M10.png
Affichages : 956
Taille : 3,9 KoNom : M20.png
Affichages : 960
Taille : 4,0 Ko
    Nom : M11.png
Affichages : 1015
Taille : 4,0 KoNom : M22.png
Affichages : 946
Taille : 4,0 KoNom : M21.png
Affichages : 966
Taille : 4,2 Ko


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  12. #12
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    1°) Aux matrices (M10, M20) correspondent respectivement les sommes:
    S10 = h2.ΔU + (h4/12)(D40 + D04) + (h6/360)(D60 + D06) ,
    S20 = 4h2.ΔU + (16h4/12)(D40 + D04) + (64h6/360)(D60 + D06) ,
    dont les expressions ne diffèrent que par la valeur du pas (h' = 2h).
    On se débarrasse aisément du terme d'ordre (4) par la combinaison linéaire:
    Sa = 16S10 - S20 = 12h2.ΔU - (2h6/15)(D60 + D06) ,
    qui correspond à la matrice Ma = 16.M10 - M20 .

    2°) Aux matrices (M11, M22) correspondent pareillement les sommes:
    S11 = 2h2.ΔU + (h4/12)(2D40 + 3D22 + 2D04) + (h6/180)(D60 + 15D42 + 15D24 + D60) ,
    S22 = 8h2.ΔU + (16h4/12)(2D40 + 3D22 + 2D04) + (64h6/180)(D60 + 15D42 + 15D24 + D60) ,
    dont les expressions ne diffèrent là encore que par le doublement du pas (h' = 2h).
    Le terme d'ordre (4) disparaît par la combinaison linéaire appropriée:
    Sb = 16S11 - S22 = 24h2.ΔU - (4h6/15)(D60 + 15D42 + 15D24 + D60) ,
    qui correspond à une nouvelle matrice: Mb = 16.M11 - M22 .

    On peut désormais envisager la nouvelle combinaison: M = 2.Ma + Mb ,
    dont les deux termes présentent des contributions égales au laplacien:
    S = 2.Sa + Sb = 48h2.ΔU - (4h6/15)(2D60 + 15D42 + 15D24 + 2D06) .
    Nom : M2apb.png
Affichages : 976
Taille : 5,3 Ko

    Remarque: des considérations purement formelles conduisent à une autre combinaison: M = 8.Ma + Mb ,
    dont la somme admet une expression particulièrement concise: S = 120h2.ΔU - (4h6/3)Δ3U
    mettant en jeu le laplacien cube Δ3U = Δ(Δ2U) = Δ(Δ(ΔU)) = D60 + 3D42 + 3D24 + D06 ;
    la matrice est alors: M = ((-1, 0, -8, 0, -1), (0, 16, 128, 16, 0), (-8, 128, -540, 128, -8), (0, 16, 128, 16, 0), (-1, 0, -8, 0, -1))

    # Il y a évidemment à ce stade une infinité de combinaisons interdites
    M(a, b, c, d, 0),
    pour lesquelles la somme correspondante S ~ (a + 4b + 2c+ 8d)h2.ΔU = Kh2.ΔU
    ne représente plus le laplacien (K = 0);
    la pire de toutes étant pour l'instant: M' = 2.Ma - Mb
    Nom : M'2a-b.png
Affichages : 1003
Taille : 5,7 Ko
    et pour laquelle on a : S = 2.Sa - Sb = 4h6.(D42 + D24) .

    # Afin de changer d'illustration, j'ai remplacé Audrey Hepburn par un éléphant:

    Nom : F1_700x586.png
Affichages : 1030
Taille : 784,2 Ko

    Voici les transformées de cette photographie d'une peinture sur soie à l'aide les matrices (M, M'):

    Nom : F2_S=1.40Ect_M1_700x586.png
Affichages : 1067
Taille : 51,3 Ko Nom : F2_S=1.40Ect_M2_700x586.png
Affichages : 1035
Taille : 35,1 Ko

    On retrouve le contenu pictural fortement dégradé dans le second cas.
    Afin de pouvoir comparer graphiquement des deux résultats, on a fait intervenir la même fonction de couleur dans les deux cas:
    a) g > Gmoyen : teinte rouge (r, v, b) = (k, 0, 0);
    g <= Gmoyen : teinte bleue (r, v, b) = (0, 0, k);
    b) Seuil = 1.40 * (Ecart-type) ;
    si Abs(g - Gmoyen) > Seuil alors k = 255 sinon k = Round(K * (g - Gmoyen)4) .

    Il avait déjà été question d'examiner de plus près l'histogramme des sommes calculées (g) en chaque pixel de l'image; la distribution des valeurs apparaît très dissemblable dans les deux cas présents, d'après le petit nombre de résultats affichés:
    # Matrice (M)
    Nom : Résultats_S=1.40Ect_M1.png
Affichages : 984
Taille : 3,8 Ko
    # Matrice (M')
    Nom : Résultats_S=1.40Ect_M2.png
Affichages : 1011
Taille : 3,8 Ko
    La répartition des valeurs apparaît nettement plus étalée et plus dissymétrique dans le premier cas.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  13. #13
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Comment déterminer un noyau permettant de calculer le Laplacien d'une image
    Toujours à propos de l'histogramme des valeurs calculées (g): une exploitation résolument dissymétrique de celui-ci, analogue à celle évoquée au message #09, peut conduire à une image de couleur et de contraste arbitraires

    Voici ce à quoi conduit la transformation de la photographie d'une sculpture sur marbre, en recourrant à la définition suivante des couleurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Si (g<Gmoyen) alors pixel = (0, 0, 255)
                  sinon si (g - Gmoyen>Seuil) alors Pixel = (179, 255, 255)
                                              sinon début
                                                      k = Round(255 * (g/Seuil)^4; r:= k DIV 2;
                                                      Pixel = (r, k, 255) 
                                                    fin
    Une telle fonction couleur est naturellement ouverte à toutes les variantes: à chacun de suivre son inspiration.

    Le paramètre ici en cause est le rapport arbitraire du seuil à d'écart-type Gamma = Seuil / Gsigma ; les cinq valeurs envisagées sont ici:
    { 1.00 , 1.33 , 1.67 , 2.00 , 2.33 }:

    Nom : Fich_1.png
Affichages : 1001
Taille : 324,4 Ko _ Nom : Q4_S=1.00Ect.png
Affichages : 957
Taille : 79,0 Ko

    Nom : Q4_S=1.33Ect.png
Affichages : 948
Taille : 70,1 Ko _ Nom : Q4_S=1.67Ect.png
Affichages : 923
Taille : 63,3 Ko

    Nom : Q4_S=2.00Ect.png
Affichages : 1017
Taille : 58,5 Ko _ Nom : Q4_S=2.33Ect.png
Affichages : 950
Taille : 53,8 Ko


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. [XL-2016] Comment inserer les résultats d'un calcul dans excel dans une userform personnalisé
    Par laurence farinaud dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/12/2017, 11h33
  2. Comment calculer la dérivée d'une image en fonction de temps
    Par codesource1 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 07/04/2015, 20h39
  3. Comment optimiser le calcul du gradient d'une image dans matlab
    Par MPEG4 dans le forum Traitement d'images
    Réponses: 19
    Dernier message: 28/04/2009, 18h36
  4. Réponses: 3
    Dernier message: 04/04/2007, 08h07
  5. Réponses: 2
    Dernier message: 28/07/2005, 03h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo