Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 15 sur 28

Convertir une image RVB en code binaire

  1. levystore

    Date d'inscription
    août 2010
    Messages
    25

    Lightbulb Convertir une image RVB en code binaire

    Bonjour,

    Je ne suis pas programmeur mais designer, et dans le cadre d'un projet sur le binaire j'aimerais savoir si il est possible de convertir une image en code binaire.
    Je ne parle pas de réaliser une image en noir et blanc, où les blanc sont des 0 et les noir des 1. Je parle d'une image RVB couleur.
    Je sais qu'il est facilement possible de convertir du texte en binaire où chaque lettre est une suite de 0 et 1, mais après avoir passé plusieurs heures à chercher pour les images je n'ai rien trouvé d'interessant. Est-il donc possible de convertir chaque pixel d'une image en code binaire? Extraire le code Hexadecimal (#XXXXXX) de chaque pixel et de les convertir en binaire peut-être?

    Si oui, quel outils/site pourrais-je utilisé pour cela?

    Merci!

    -----

     


    • Publicité



  2. ansset

    Date d'inscription
    novembre 2009
    Localisation
    Fresnes
    Âge
    57
    Messages
    23 581

    Re : Convertir une image RVB en code binaire

    bjr,
    pas sur de comprendre ta question ,tu veux dire décompresser une image déjà encodée ( jpeg , autre, .... ) ?
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !
     

  3. roro222

    Date d'inscription
    septembre 2011
    Localisation
    Chez moi
    Messages
    1 332

    Re : Convertir une image RVB en code binaire

    Bonjour
    Un éditeur hexadécimal devrait pouvoir faire ça
    Le nombre d'imbéciles est incalculable,il y a de fortes probabilités que j'en suis
     

  4. levystore

    Date d'inscription
    août 2010
    Messages
    25

    Re : Convertir une image RVB en code binaire

    @ansset : oui c'est bien ça, "convertir" une image .jpg en code binaire en quelque sorte
    @roro222 : ok merci j'y ai jeté un oeil, en effet ça m'a l'air d'être proche de ce que je recherche, même si ça n'a pas l'air simple a utiliser
     

  5. azad

    Date d'inscription
    février 2006
    Localisation
    Bastia
    Âge
    80
    Messages
    2 593

    Re : Convertir une image RVB en code binaire

    Salut
    Avec 16 bits par couleur et par pixel, soit 4096 couleurs, je doute que la résolution suffise à un designer !
    Donc tu vas sans doute vouloir 3 fois 32 bits par pixel (16 000 000 de couleurs) ou plus. Fais le calcul pour un écran en 1280x1024 par exemple pour mesurer l’ampleur de la tâche. Et cela sans tenir compte de la position du pixel considéré.
    D’autre part, à part les formats BMP et PSD qui, je crois, ne sont pas compressés, les autres formats le sont, et il faut connaître les algorithmes de compression pour retrouver l’information RGB pour chaque pixel.
    Si donc, tu persistes, il te faudra sans doute convertir ton fichier d’origine en BMP ou PSD et ensuite lire le fichier obtenu avec un éditeur hexadécimal. La description du BMP est publique.
     


    • Publicité



  6. JPL

    Date d'inscription
    septembre 2003
    Messages
    67 728

    Re : Convertir une image RVB en code binaire

    Ce qui pose le moins de problème c’est le format BMP parce que le fichier commence par un en-tête puis les pixels y sont écrits à la queue leu leu sans aucune compression. Chaque pixel, rouge, vert, bleu a une valeur entre 0 et 254 (ou fe en hexadécimal).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac
     

  7. ansset

    Date d'inscription
    novembre 2009
    Localisation
    Fresnes
    Âge
    57
    Messages
    23 581

    Re : Convertir une image RVB en code binaire

    Citation Envoyé par azad Voir le message
    Salut
    Avec 16 bits par couleur et par pixel, soit 4096 couleurs, je doute que la résolution suffise à un designer !
    .
    pourquoi ?
    on ne sait pas vraiment sur quoi il travaille.
    si limite il y a , ce serait plutôt éventuellement sur la résolution de l'image elle-même (*) , en fct des agrandissements voulus.

    (*) c-a-d pas chromatique.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !
     

  8. minushabens

    Date d'inscription
    juillet 2014
    Messages
    5 445

    Re : Convertir une image RVB en code binaire

    Il y a un package pour le logiciel R qui lit les formats d'images les plus courants (jpeg, tiff, gif...) et renvoie une simple matrice de nombres, dont on peut choisir le type. Ca permet de s'amuser à sommer des image (ou en faire le produit), etc. Je l'avais utilisé pour un cours sur l'ACP.
     

  9. PA5CAL

    Date d'inscription
    décembre 2005
    Localisation
    Paris
    Âge
    52
    Messages
    11 557

    Re : Convertir une image RVB en code binaire

    Bonsoir

    Le codage binaire constitue la base de l'électronique numérique et de l'informatique moderne. Hormis quelques rares cas où les informations sont physiquement codées sur plusieurs niveaux (transmission modulée, enregistrement sur mémoire de masse, ...), l'unité élémentaire d'information est le bit (deux états possible, notés 0 ou 1).

    Le codage hexadécimal, de même que les autres types de codage (octal, décimal BCD, ASCII, Unicode, UTF-8, nombre flottant IEEE754, ...) ne sont que des représentations conventionnelles d'informations stockées sur un ensemble de bits. Par exemple, le code hexadécimal "C8h" est un moyen commode de représenter l'ensemble de bits 11001000b, le caractère "1" est représenté par l'ensemble de bits 00110001b en ASCII et en UTF-8, et la valeur 3,14 est représentée par l'ensemble de bits 010000000100100011110101110000 11b selon IEEE754 (nombre flottant à simple précision).

    Si l'information "pixel" dont tu parles est numérisée, alors elle existe déjà sous forme binaire, et se conforme à une convention de codage particulière. Par exemple, ce codage peut être de type RGB sur 24 bits où les composantes rouge (R), verte (G) et bleue (B) sont codées chacune sur 8 bits, et présentées à la suite ou sur des lignes ou des plans séparés. Mais les composantes peuvent être différentes (luminance + composantes chromatiques YUV ou YCbCr par exemple), de même que le nombre et l'agencement des bits utilisés.

    Si l'information "pixel" est encore analogique (représentée par des niveaux continus de tension), alors la conversion vers des valeurs numériques doit être réalisée par du matériel (par un circuit électronique appelé "convertisseur analogique-numérique").


    Pour qu'on comprenne ta problématique et ainsi répondre à ta question, il faudrait que tu précises où et sous quelle forme sont les pixels dont tu disposes, et où et sous quelle forme tu souhaites retrouver l'information correspondante après conversion.

    [EDIT: désolé, suite à des problèmes de connexion j'ai mis trop de temps à répondre, et la discussion a beaucoup avancé sans moi. Mon intervention n'est donc plus trop d'actualité.]
    Dernière modification par PA5CAL ; 11/09/2017 à 20h51.
     

  10. ansset

    Date d'inscription
    novembre 2009
    Localisation
    Fresnes
    Âge
    57
    Messages
    23 581

    Re : Convertir une image RVB en code binaire

    Salut PA5CAL.
    il me semble qu'il avait répondu
    Citation Envoyé par levystore Voir le message
    @ansset : oui c'est bien ça, "convertir" une image .jpg en code binaire en quelque sorte
    mais il faut confirmer, parce que les encodages sont assez différents, et plus ou moins "compressés".
    Cdt
    Dernière modification par ansset ; 11/09/2017 à 20h53.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !
     

  11. PA5CAL

    Date d'inscription
    décembre 2005
    Localisation
    Paris
    Âge
    52
    Messages
    11 557

    Re : Convertir une image RVB en code binaire

    Citation Envoyé par ansset Voir le message
    il me semble qu'il avait répondu
    Oui, mais lorsque j'ai commencé à rédiger mon post, cette réponse n'était pas encore disponible.

    La question initiale manquant cruellement de clarté, je n'avais d'ailleurs même pas pensé aux éventuels problèmes de décompression.
     

  12. PA5CAL

    Date d'inscription
    décembre 2005
    Localisation
    Paris
    Âge
    52
    Messages
    11 557

    Re : Convertir une image RVB en code binaire

    En ce qui me concerne, il m'arrive souvent d'utiliser un simple navigateur web pour obtenir les composantes RGB d'images enregistrées dans des fichiers. La conversion peut être réalisée avec Javascript, en mettant l'image dans un objet Canvas à l'aide de la méthode drawImage(), puis en récupérant le tableau des valeurs des composantes de chaque pixel à l'aide de la méthode getImageData(). Ce tableau peut alors être affiché sous forme de nombres lisibles dans un objet Textarea, ou bien directement traité par un programme écrit en Javascript.

    La conversion inverse est également possible, avec en prime la visualisation immédiate de l'image résultante.
     

  13. PA5CAL

    Date d'inscription
    décembre 2005
    Localisation
    Paris
    Âge
    52
    Messages
    11 557

    Re : Convertir une image RVB en code binaire

    Voici un exemple de fichier HTML pouvant réaliser la conversion d'une image (JPEG, PNG, etc.) en une liste de codes RGB hexadécimaux. Il fonctionne sous Firefox (je n'ai pas pris le temps de tester sous d'autres navigateurs).

    Pour charger l'image, taper son URL dans le premier champ et cliquer sur "Charger" ou bien utiliser le bouton "Parcourir...".
    Ensuite, pour démarrer la conversion, cliquer sur "Convertir".

    NB: commencer par faire un test sur de petites images, car la conversion n'est pas très rapide.

    Code HTML:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script>//<!--
    
    var fi,fn,ld,cv,canvas,list,img;
    var wi=0;
    var hi=0;
    
    function addEventHandler(elem,eventType,handler) {
      if (elem.addEventListener)
        elem.addEventListener (eventType,handler,false);
      else if (elem.attachEvent)
        elem.attachEvent ('on'+eventType,handler); 
    }
    
    function getElement(id)
    {
      if (document.all)
        return document.all[id];
      return document.getElementById(id);
    }
    
    function pasteImage()
    {
      wi = img.width;
      hi = img.height;
      canvas.width = wi;
      canvas.height = hi;
      var ctx = canvas.getContext("2d");
      ctx.drawImage(img, 0, 0, wi, hi);
    }
    
    function loadImage()
    {
      img = new Image();
      img.onload = pasteImage;
      img.src = fn.value;
    }
    
    function loadImageE(e)
    {
      var URL = window.webkitURL || window.URL;
      var url = URL.createObjectURL(e.target.files[0]);
      img = new Image();
      img.onload = pasteImage;
      img.src = url;
    }
    
    var _hexa =  "0123456789ABCDEF";
    
    function hexa(val)
    {
      return _hexa.charAt((val&0xF0)>>4)+_hexa.charAt(val&0x0F);
    }
    
    function convertImage(e)
    {
      var ctx = canvas.getContext("2d");
      var imgData = ctx.getImageData(0,0,wi,hi);
      var s = "/* "+(imgData.data.length/4)+" pixels */\n";
      var i = 0;
      for (var y=0; y<hi; y++) {
        s += "/* "+y+" */ ";
        for (var x=0; x<wi; x++) {
          var R = imgData.data[i++];
          var G = imgData.data[i++];
          var B = imgData.data[i++];
          var A = imgData.data[i++];
          
          s += "#"+hexa(R)+hexa(G)+hexa(B)+",";
        }
        s += "\n";
      }
      list.value = s;
    }
    
    onload = function()
    {
      canvas = getElement("canvas");
      list = getElement("list");
      list.style.tabSize = "16";
      list.style.mozTabSize = "16";
    
      fn = getElement("filename");
      ld = getElement("load");
      cv = getElement("convert");
      fi = getElement("fileinput");
      var URL = window.webkitURL || window.URL;
      if (!URL) {
        addEventHandler(ld,"click",loadImage);
      } else {
        addEventHandler(fi,"change",loadImageE);
      }
      addEventHandler(cv,"click",convertImage);
    }
    //--></script>
    <body>
    <input type="text" id="filename" value="" size="80"/>
    <button id="load">Charger</button><br/>
    <input type="file" id="fileinput"/>
    <button id="convert">Convertir</button><br/>
    <textarea id="list" cols="160" rows="16"></textarea>
    <canvas id="canvas" class="noborder"></canvas>
    </body>
    </html>
    Faire un copier-coller de ce code dans un éditeur de texte simple (produisant un format TXT, sans mise en forme), puis l'enregistrer dans un fichier avec une extension ".html" .
    Dernière modification par PA5CAL ; 11/09/2017 à 23h35.
     

  14. levystore

    Date d'inscription
    août 2010
    Messages
    25

    Re : Convertir une image RVB en code binaire

    Il est vrai que ma demande initiale n'était pas vraiment claire, je vais tenté de l'éclaircir.

    Prenons cette image :
    Une image .jpeg de 400x600 pixels, ce qui donne 240000 pixels.

    landscape.jpg

    Le premier pixel en haut a gauche à 9a9fa3 comme valeur hexadecimal

    hex.jpg

    Via ce site, la conversion de la valeur hex 9a9fa3 donne : 1001 1010 1001 1111 1010 0011

    L'idée serait de "convertir" l'image entière...histoire que je ne fasse pas les 240000 pixels à la main
    J'éspère être plus clair.
     

  15. albanxiii

    Date d'inscription
    novembre 2010
    Localisation
    92
    Âge
    43
    Messages
    9 677

    Re : Convertir une image RVB en code binaire

    Citation Envoyé par azad Voir le message
    Avec 16 bits par couleur et par pixel, soit 4096 couleurs, je doute que la résolution suffise à un designer
    12 bits suffisent pour aller de 0 à 4095.
    Vous ne vouliez pas dire plutôt 16384 couleurs ?
    Not only is it not right, it's not even wrong!
     


    • Publicité







Sur le même thème :





 

Discussions similaires

  1. Comment convertir du Binaire en String sur flowcode ?
    Par CMleo80 dans le forum Électronique
    Réponses: 3
    Dernier message: 24/04/2015, 17h53
  2. Convertir vitesse rotation en signal binaire (0/12V)
    Par xababa40 dans le forum Électronique
    Réponses: 4
    Dernier message: 16/02/2015, 23h14
  3. convertir binaire au décimal
    Par afaf1995 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 06/07/2014, 11h59
  4. Convertir BMP en fichier binaire 8 bits
    Par ElectronPiege dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 06/04/2014, 19h20
  5. Convertir Binaire-Décimal PIC 16fxxx
    Par yazeero dans le forum Électronique
    Réponses: 16
    Dernier message: 15/01/2013, 21h52