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

Images Discussion :

Génération code-barres 2D : codage spatial


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 37
    Points
    37
    Par défaut Génération code-barres 2D : codage spatial
    Dans le contexte d'un codebare 2D, je cherche a créer une image binaire (code bare) d'un ensemble des points (x,y). Sachant que mon image elle doit être de dimension 7x7 dont les points à l'intérieur d'un rectangle (c.f en bas) doivent être a 1 et 0 ailleurs (c.f image ci-joint, codeimg).ce qui a imposé une petite difficulté!
    N.B: le résultat sur l'image code est obtenu manuellement
    Voici mes cordonnées (x,y)
    Centres(:,1:2)=
    1019 760
    816 760
    918 659
    1017 560
    927 149
    815 659
    918 759
    718 758
    411 146
    1031 252
    716 659
    1018 660
    718 161
    916 558
    813 558
    en faisant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    figure, plot(Centres(:,1),Centres(:,2), '*r'), grid on
    j'obtiens l'image ci-joint
    j'ai pensé de créer un rectangle tel que,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ax=min(Centres(:,1)),bx=max(Centres(:,1)),ay=min(Centres(:,2)),by=max(Centres(:,2))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rect = rectangle(ax,ay,pas(1),pas(2))
    mais j'en sais pas comment développer cette idée!
    any suggestion plz
    Merci,
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Essaie ceci

    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
    xy = [1019 760
    816 760
    918 659
    1017 560
    927 149
    815 659
    918 759
    718 758
    411 146
    1031 252
    716 659
    1018 660
    718 161
    916 558
    813 558];
     
    xy(:,1) = xy(:,1)-300;
    xy = floor(xy/100);
     
    M = zeros(7);
     
    idx = sub2ind(size(M),xy(:,2),xy(:,1));
     
    M(idx) = 1;
     
    figure
    colormap(gray)
    imagesc(M)
    axis xy equal tight
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 37
    Points
    37
    Par défaut
    Merci Dut pour la réponse assez speed!
    Je vais assayer de voir comment peux-je généraliser ta proposition
    Je trouve par exemple que 300 est la valeur minimale à l'ordre de 100 en dessous de min(xy).
    ensuite 100 je pense que c'est le pas d’échantillonnage qui doit être en générale (min(xy)+max(xy)) /length(xy).
    Mais dans le cas d'une image 640x480 ???

    Merci encore une fois,

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

Discussions similaires

  1. [WD17] génération codes barres
    Par oliv06nice dans le forum WinDev
    Réponses: 1
    Dernier message: 25/10/2012, 21h40
  2. Génération code barre
    Par daychissaf dans le forum Ext JS / Sencha
    Réponses: 8
    Dernier message: 15/05/2012, 11h25
  3. Génération code barre et impression
    Par riderfun dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/01/2010, 15h51
  4. Génération code barre EAN13
    Par mdr_cedrick dans le forum Langage
    Réponses: 2
    Dernier message: 17/10/2008, 09h57

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