Traitement d'image

Traitement d'image - Delphi/Pascal - Programmation

Marsh Posté le 07-04-2010 à 15:44:41    

Bonjour à tous,
Je solicite votre aide car j'ai actuellement un projet à faire qui consiste à programmer (en pascal) un logiciel de reconnaissance d'écriture manuscrite, ma question est la suivante:
        Je veux dessiner l'image d'un nombre dans paint (ou équivalent) et je veux me servire de cette image pour la transformer en matrice booleenne qui aura pour rôle de servire de base de comparaison. je veux donc que l'image me créée une matrice du style 0 quand c'est blanc et 1 quand c'est noir.
 
Merci d'avance pour vos éventuelles réponses.

Reply

Marsh Posté le 07-04-2010 à 15:44:41   

Reply

Marsh Posté le 07-04-2010 à 16:09:42    

Ben tu fais une binarisation de ton image, c'est quoi le pb?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-04-2010 à 21:44:25    

C'est peut etre simple j'dit pas mais j'vois pas comment faire, il faut que j'arrive a reprendre chaque info de chaque pixel alors si quelqu'un peut m'expliquer...

Reply

Marsh Posté le 08-04-2010 à 09:29:44    

Je comprends pas trop où tu coinces :/ T'as une image avec ton chiffre, tu l'ouvres, tu parcours l'image pixel par pixel (ligne par ligne) et t'effectues une binarisation de ton image. A la fin, tu sauvegarde le résultat dans un autre fichier.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 08-04-2010 à 11:07:05    

Par binarisation, on entend que tu bas comparer la valeur de ton pixel par rapport à une valeur de seuil (que tu choisi).
Par exemple, si c'est une image noir blanc codée sur 255 niveaux de gris, tu peux décider que si la valeur du pixel est > 128, alors tu le met à "true", sinon à "false". Si t'as une image couleur, alors tu dois juste utiliser un seuil approprié (et là, à nouveau, c'est toi qui choisi)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-04-2010 à 11:22:03    

En général, en traitement d'image, on travaille souvent en niveaux de gris.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 08-04-2010 à 12:58:50    

ok merci.Mais comment parcourrir l'image pixel par pixel?

Reply

Marsh Posté le 08-04-2010 à 14:07:38    

Bon on va pas tout faire non plus hein :o
Tu prends ta doc, tu cherches et tu reviens avec tes pistes :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-04-2010 à 14:11:40    

RTFM. Et pour éviter de réinventer la roue, du devrait coder ton soft, si c'est possible, en Delphi plutôt qu'en Pascal. Delhi, c'est du pascal mais objet et sous Windows (ou Linux avec kylix). T'as des composants tous faits pour ouvrir des bmp/jpg.
Si tu pars du bas niveau, utiles le pgm comme format d'image : c'est en niveaux de gris et le header du fichier et très simple à lire, le parcourt des pixels également (lignes/colonnes, de haut en bas) ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 08-04-2010 à 15:51:55    

J'le ferai bien avec autre chose que le pascal mais c'est dans le cahier des charges de le faire en pascal :) et j'ai pas de doc.

Reply

Marsh Posté le 08-04-2010 à 15:51:55   

Reply

Marsh Posté le 08-04-2010 à 15:55:54    

"J'ai pas de doc" n'est absolument pas une excuse.
Tu cherches sur Google ou tu vas t'acheter un bouquin !


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-04-2010 à 18:04:06    

Ouai pardon mais j'ai cherché sur google le problème c'est que je sais même pas quoi chercher enfin j'veux dire j'connais aucune fonction ou quoi que ce soit, j'ai regardé sur google j'suis tombé sur des truc qui avaient rien à voir. Juste un p'tit coup de pouce s'il vous plait.

Reply

Marsh Posté le 09-04-2010 à 09:25:07    

achètes-toi un bouquin sur pascal (quoiqu'en 2010, en trouver un, ça doit pas être facile). Sinon, ben tu cherches des infos sur les formats de fichiers bmp ou pgm (laisses tomber le jpg, c'est trop compliqué à lire sans lib).
Sinon, tu cherches des libs de traitement d'image en Pascal. Et, please, enlèves les moufles!!!


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-04-2010 à 13:06:15    

Ok merci.
Pourquoi les moufles?

Reply

Marsh Posté le 09-04-2010 à 14:35:01    

Parce que t'as franchement pas l'air dégourdi :/ En gros, l'inverse de ce qu'il faut être quand on fait du dév  :o


Message édité par rufo le 09-04-2010 à 14:35:19

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2010 à 13:06:31    

Salut, histoire d'apporter une note positive, qqs liens ( c'est pour Delphi à priori ) qui pourraient t'aider
http://www.efg2.com/Lab/index.html
http://www.delphiforfun.org/
http://www.graphics32.org/wiki/
http://delphi.about.com/

Reply

Marsh Posté le 11-04-2010 à 17:13:27    

Merci bien :).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed