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 :

Effacer l'arrière-plan d'une image


Sujet :

Traitement d'images

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut Effacer l'arrière-plan d'une image
    Bonjour les amis,
    Comme d'habitude j'ai dû mal chercher sur internet des algorithmes permettant d'effacer l'arrière-plan d'une image.
    Et sur notre site je n'ai rien trouvé pourtant je pensais que ça devait être un des premiers points à traiter sur une image.
    Je sais que ce n'est pas évident à réaliser mais je n'ai pas trouvé la moindre piste.
    Par contre j'utilise remove.bg et lui efface quasi instantanément l'arrière-plan d'une image.
    Quelqu'un aurait-il une idée sur le principe?
    Et ceci aussi pour la reconnaissance de formes et tant d'autres traitements.
    Ils parlent d'intelligence artificielle mais on en met partout de cette sauce et quand je l'utilise c'est pour reconnaître de petites images dans une grande (genre décalcomanies) donc ce ne sont pas des visages ou des formes très complexes.
    Et concernant la vitesse d'exécution je me demandais aussi comment les logiciels les plus performants en traitement d'images procédaient car tout ce que je fais dans ce domaine devient très vite lent si l'image a une certaine taille, genre Canny en Delphi, etc.
    Un autre bête truc, quand on recherche quelque chose sur Google il nous affiche instantanément des millions d'occurences et moi avec ma petite base de données ça peut prendre un temps fou selon les requêtes, je sais ça n'a rien à voir avec le traitement d'images.
    Si quelqu'un pouvait m'éclairer sur les techniques que ces logiciels utilisent je lui en serais reconnaissant.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    Il faut utiliser le neural network yolo 5 pour la reconnaissance de forme avec python

  3. #3
    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 Effacer l'arrière-plan d'une image
    Bonjour,

    On ne trouve malheureusement que très peu de références concernant le principe du détourage d'une image;
    la plupart des liens renvoient à des modes d'emploi de logiciels particuliers, quasiment sans la moindre indication théorique sur l'algorithme utilisé.

    Les commentaires peuvent néanmoins contenir quelques indications utiles.
    ... il convient de souligner qu'un détourage automatique ne sera jamais aussi bon qu'un détourage manuel réalisé par un expert dans un logiciel tel que Photoshop ou Gimp. Les images complexes, comme certains sujets, exigent un réel savoir-faire associé à des outils puissants. Et si Remove.bg se sort admirablement des photos simples, où le sujet est bien en évidence, sans trop d'ombres notamment, il ne peut pas remplacer un œil humain. Ce qui ne l'empêche pas d'être très utile pour des détourages simples, d'autant qu'il est extrêmement rapide

    J'ai essayé Remove.bg, que je ne connaissais pas; quelques essais ont montré un fonctionnement rapide et efficace. La mise en ligne paraît peu compatible avec la protection des droits d'auteur, si tu éditais un jour des images auxquelles tu tiens. Tu pourrais peut-être regarder du côté de Gimp, téléchargeable gratuitement.

    L'élimination de l'arrière-plan sur un critère de couleur est le procédé le plus simple, qui s'impose immédiatement lorsque le fond de l'image ou l'objet à sélectionner présente une couleur uniforme ou un domaine de couleurs relativement étroit, sans qu'il y ait de teinte commune de part et d'autre du contour.
    Le résultat peut cependant s'avérer décevant lorsque les bords présentent un dégradé (qui peut être simplement dû à une variation d'éclairement), ou lorsque le contour devient fractal (cas d'une fourrure, ou des cheveux).

    J'avais tenté, il y a deux ans, de réaliser un montage montrant la trajectoire apparente de la Terre observée depuis le pôle Sud de la Lune, à partir d'une une vidéo réalisée par la NASA; bien que le noir absolu du ciel constituât un facteur favorable, le résultat est apparu décevant à cause du flou du contour planétaire, et aussi de ce que les zones plongées dans la nuit étaient aussi sombres que le ciel - il s'agissait, il est vrai, d'une vidéo synthétisée sur ordinateur.

    Nom : F_2_Ginf09_Lsup05_Ka=10_.png
Affichages : 118
Taille : 188,5 Ko

    L'intégralité du disque terrestre aurait pu être conservée par le tracé du cercle moyen calculé sur 4 ou 5 points du contour ... mais cela aurait alors demandé trop de temps.


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

  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 Effacer l'arrière-plan d'une image
    Pour illustrer la sélection sur couleur, j'ai pris l'exemple à priori très simple d'un oiseau photographié en plein vol(1)!

    Nom : F_1.png
Affichages : 105
Taille : 417,8 Ko

    Un bornage rapide des composantes (r, v, b) établi sur prélèvement de pixels aux 4 coins de l'image
    120<r<127 ; 161<v<173 ; 224<b<232
    conduit à un résultant assez décevant, montrant que le fond du ciel est loin d'être aussi uniforme qu'il semble au premier abord:

    Nom : F_2_A.png
Affichages : 102
Taille : 336,1 Ko

    L'élimination des taches bleues résiduelles s'obtient par l'élargissement progressif des créneaux, après détection des composantes de couleur; on parvient, après un sixaine de rectifications:

    Nom : F_2_Fin.png
Affichages : 109
Taille : 162,3 Ko

    La transformation de l'image s'obtient par le code précédent:
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     FUNCTION Couleur(Px1: Pixel): Pixel;
       CONST Coul: Pixel = (0, 255, 0);
       VAR T1, T2, T3: Bool; Px2: Pixel;
       BEGIN
         T1:= ((095<Px1[1]) AND (Px1[1]<154));
         T2:= ((147<Px1[2]) AND (Px1[2]<216));
         T3:= ((215<Px1[3]) AND (Px1[3]<256));
         IF (T1 AND (T2 AND T3)) THEN Px2:= Coul
                                 ELSE Px2:= Px1;
         Result:= Px2
       END;
     
     PROCEDURE Calc_Mat_Im2(La, Ha: Z_32; VAR Ma1, Ma2: Tab_Pix);
       CONST Pzero: Pixel = (  85,   170,   255);
       VAR Xm, Ym: Z_32; Px: Pixel;
       BEGIN
         FOR Xm:= 0 TO (La - 1) DO
           FOR Ym:= 0 TO (Ha - 1) DO
             Ma2[Xm,Ym]:= Couleur(Ma1[Xm, Ym])
       END;
    Les tableaux de pixels (Matrice_1, Matrice_2) correspondant respectivement aux corps des images bitmap initiale et finale
    On est évidemment loin d'un procédé automatique et rapide ...

    (1) Collection de William Fondevilla
    http://www.nature-comminges.asso.fr/index.php/rapaces/


    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 Effacer l'arrière-plan d'une image
    On peut envisager un algorithme à un seul paramètre, sachant que pour la trentaine de points testés sur le fond du ciel les conditions
    (b > 215) et (r < b * 0.554)
    sont vérifiées; elles conduisent alors au résultat suivant:

    Nom : F_2_L=0.554.png
Affichages : 105
Taille : 191,2 Ko

    les taches bleues subsistantes disparaissent par l'intervention d'un rapport limite plus élevé, par exemple:
    Krb = 0.600 .
    Nom : F_2_L=0.600.png
Affichages : 101
Taille : 162,8 Ko

    La délimitation du fond ne fait plus intervenir que deux booléens au lieu de six:
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     FUNCTION Couleur(Px1: Pixel): Pixel;
       CONST Coul: Pixel = (0, 255, 0); Krb = 0.600;  //  Krb = 0.554
       VAR T1, T2: Bool; Px2: Pixel;
       BEGIN
         T1:= (Px1[3]>215);
         T2:= (Px1[1]<(Px1[3] * Krb));
         IF (T1 AND T2) THEN Px2:= Coul
                        ELSE Px2:= Px1;
         Result:= Px2
       END;
     
     PROCEDURE Calc_Mat_Im2(La, Ha: Z_32; VAR Ma1, Ma2: Tab_Pix);
       CONST Pzero: Pixel = (  85,   170,   255);
       VAR Xm, Ym: Z_32; Px: Pixel;
       BEGIN
         FOR Xm:= 0 TO (La - 1) DO
           FOR Ym:= 0 TO (Ha - 1) DO
             Ma2[Xm,Ym]:= Couleur(Ma1[Xm, Ym])
       END;


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

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Le détourage des images dans les réunions en visio-conférence a fait des progrès énormes depuis le 1er confinement. Le sujet est peut-être plus simple, parce que dans le cas d'une vidéo, on a plusieurs images d'affilée, et donc plus d'éléments pour décider.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    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 Effacer l'arrière-plan d'une image
    Je ne résiste pas à la tentation de soumettre à Remove.bg le cas franchement vicieux de cette image de la roussette Haploblepharus edwardsii

    Nom : Roussette.png
Affichages : 90
Taille : 1,25 Mo

    Il y a comme un défaut dans le résultat:

    Nom : Roussette_Fond supp.png
Affichages : 107
Taille : 119,5 Ko

    Comme quoi rien ne vaut l'œil humain ... même si ce n'est pas celui d'un expert.


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

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    mach1974: Houlaa en plus en Python, il me faudrait des années pour transposer ça en Delphi.
    Tu me plais là Wiwaxia, mon principal problème pour le moment est celui que tu rencontres sur le fond de l'image de l'aigle, on croit que c'est bleu, ben non il y a plein de pixels parasites.
    Je vais essayer de comprendre ton code.
    J'ai un jour transposé la méthode "Mean Shift" pour uniformiser les couleurs, comme ton fond d'image vert-bleu mais ça prend un temps fou pour une image d'une taille "normale".
    Il y a peut-être moyen de faire plus vite mais je ne sais pas comment.
    Merci pour tes belles images.

Discussions similaires

  1. Envoyer une image en arrière plan / Rappeler une image en premier plan
    Par patrick.iribarne dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/09/2016, 09h25
  2. [LibreOffice][Texte] Transparence arrière plan d'une image
    Par guillou25 dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 16/12/2014, 09h02
  3. Image en arriére plan d'une div
    Par jawaad dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 04/01/2011, 22h31
  4. Réponses: 5
    Dernier message: 05/10/2009, 13h05
  5. [debutant]placer une image en arrière plan d'une JFrame
    Par ashash dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 24/09/2006, 14h18

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