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

Langage PHP Discussion :

Traitement d'image par php


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Traitement d'image par php
    Bonjour,

    Je dois réaliser un traitement d'image par php mais étant peu expérimenté dans ce domaine je viens chercher un peu d'aide.
    Voici mon code :

    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
      header("Content-type: image/png");
    
    // Ouverture de l'image
      $image = imagecreatefromjpeg(".\\image\\testE.jpg");   
    
    // Extraction des dimensions pour pouvoir traiter pixel par pixel 
      $x_dimension = imagesx($image);   
      $y_dimension = imagesy($image);   
      
      for($i=0; $i<$x_dimension; $i++)      // Pour toutes les lignes FAIRE
      {
          for($j=0; $j<$y_dimension; $j++) // Pour toutes les colonnes FAIRE
          {
    //Récupération de la couleur du pixel
               $rgb = imagecolorat($image, $i, $j); 
               $r = ($rgb >> 16) & 0xFF;
               $g = ($rgb >> 8) & 0xFF;
               $b = $rgb & 0xFF;
    
    // Transformer en niveau de gris
               $gris = (0.30 * $r) + (0.59 * $g) + (0.11 * $b);
    
    // Compare à un seuil afin de sortir une image Noir et blanc
               if($gris >= 70)     
                    $gris = 250;     // Blanc
                    else
                    $gris = 0;       // Noir
    
    // On sauvegarde la couleur (Noir ou blanc)
               $color = imagecolorallocate($image, $gris, $gris, $gris);
    
    // On met la couleur dans le pixel 
               imagesetpixel($image, $i, $j, $color);  
          }
      }
    
    // Sauvegarde de l'image  
      imagepng($image, ".\\image\\preResultat.png");  
      imagedestroy($image);             // Libération 
    ?>
    L'image en question est un code barre pris en photo. J'ai l'impression que je dois mal faire le traitement de l'image car je n'arrive pas à ouvrir l'image obtenue après le traitement (preResultat.png) via une autre page php. Donc je ne peux pas continuer de la traiter.

    Je vous remercie d'avoir pris le temps de me lire.

    PS : J'espère que j'ai posté au bon endroit :p

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Ouverture de l'image
    $image = imagecreatefromjpeg("./image/testE.jpg");
    ...
    // Sauvegarde de l'image
    imagepng($image, "./image/preResultat.png");

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bien vu ! J'ai tout repassé en jpeg et ça marche !
    Merci beaucoup du coup de main

    J'en profite pour abuser encore un peu :
    - pour la suite du traitement d'image il vaut mieux que je le fasse dans la même page de code ou je dois créer autant de page que de partie de traitement à réaliser.
    - Est-il possible d'avoir une info sur le gamma de la photo avant de la traiter ? Par exemple pour savoir si elle est trop sombre afin de commencer par lui appliquer un imagegammacorrect()

    merci d'avance.

  4. #4
    Invité
    Invité(e)
    Par défaut
    pour la suite du traitement d'image il vaut mieux que je le fasse dans la même page de code ou je dois créer autant de page que de partie de traitement à réaliser.
    ??? Je ne comprends pas la question ! (la suite du traitement ? ... de partie de traitement ?)
    Est-il possible d'avoir une info sur le gamma de la photo avant de la traiter ?
    Traitement des images et GD : http://fr3.php.net/manual/fr/book.image.php

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    ??? Je ne comprends pas la question ! (la suite du traitement ? ... de partie de traitement ?)
    En fait le traitement réalisé est la mise en noire et blanc afin de pouvoir étudier plus simplement le code barre.
    Ensuite je dois donc étudier l'image pour trouver le début du code barre et le décoder. Je me demande donc si il est préférable que j'écrive la suite du code (pour décoder le code barre) sur une autre page php ou si ça n'a pas d'importance, auquel cas je rédigerai sur la même page.

    Citation Envoyé par jreaux62 Voir le message
    Traitement des images et GD : http://fr3.php.net/manual/fr/book.image.php
    Ce site m'avait beaucoup aidé pour faire mon traitement et surtout comprendre comment faire . Mais le problème du traitement gamma est que pour bien faire il faudrait que je sache si l'image à besoin d'être corrigée ou non. Car si j'applique la correction bêtement via le code alors certaines images risquent d'être trop éclaircie. Dans ce cas le traitement en noir et blanc que j'applique renverra une image toute blanche... un poil gênant
    C'est pourquoi je me demandais si il n'existait pas une fonction qui renverrait un indice sur le gamma de l'image.

    Merci de ta patiente

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui, tu peux écrire dans le meme fichier.

    Mais tu peux aussi l'écrire dans des fichiers "externes", que tu mets en "include",
    ou encore mieux : écrire des FONCTIONS.
    (ca permet de "clarifier" le code, et de faciliter le débugage)

    Pour le gamma, je ne sais pas. Je ne me suis pas penché sur la question.

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    D'accord, merci beaucoup pour ton aide.

    Problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pré-traitement de téléchargement par PHP
    Par xorax dans le forum Langage
    Réponses: 5
    Dernier message: 16/08/2010, 00h32
  2. Réponses: 2
    Dernier message: 26/04/2010, 11h09
  3. Traitement d'images par SOM
    Par salhi_m dans le forum Intelligence artificielle
    Réponses: 5
    Dernier message: 26/01/2009, 13h24
  4. [blkproc] Traitement d'image par blocs
    Par StitchP dans le forum Images
    Réponses: 3
    Dernier message: 01/07/2008, 10h12

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