convertir bmp en xls

convertir bmp en xls - Logiciels - Windows & Software

Marsh Posté le 10-10-2005 à 18:37:37    

Bonjour à tous,
 
Je cherche un logiciel qui permette de convertir un fichier bmp (limité à 128*128) en un fichier excel xls.
Je réalise un projet dans un module de traitement d'image, et il me faut convertir des images en tableau (avec la valeur du pixel correspondant pour chaque cellule) pour ensuite pouvoir effectuer des traitements sur ce tableau.
 
Merci de votre aide.

Reply

Marsh Posté le 10-10-2005 à 18:37:37   

Reply

Marsh Posté le 10-10-2005 à 18:45:39    

un logiciel de reconnaissance de caractere ne pourrat il pas parciellemnt resoudre le probleme

Reply

Marsh Posté le 10-10-2005 à 18:46:42    

tu n'aurais pas Matlab (avec la toolkit) pour ton projet ?
ça serait plus simple pour faire des calculs sur ton image (transformé...)
Sinon il te reste plus qu'à programmer un logiciel qui s'occuperait de cette tâche.

Reply

Marsh Posté le 10-10-2005 à 20:11:06    

jean pierre a écrit :

un logiciel de reconnaissance de caractere ne pourrat il pas parciellemnt resoudre le probleme


Je ne vois pas trop ce que tu veux dire? A partir d'une image bmp, pour chaque pixel, je veux pouvoir associer la couleur du pixel à son codage. Et faire un tableau avec toutes les valeurs... je ne vois pas trop en quoi le logiciel de reconnaissance pourrait m'aider.....
 
 
 

jlighty a écrit :

tu n'aurais pas Matlab (avec la toolkit) pour ton projet ?
ça serait plus simple pour faire des calculs sur ton image (transformé...)
Sinon il te reste plus qu'à programmer un logiciel qui s'occuperait de cette tâche.


En fait, j'ai des traitements assez simple à traiter: produit de convolution, V-filtre..... ce qui ce fait assez facilement sous excel (produit matriciel)..
 
 
Personne n'a une idée?

Reply

Marsh Posté le 10-10-2005 à 20:30:17    

j'ai essayé avec imagemagick (convert)
et comme fichier text j'ai ceci :
extrait

Code :
  1. # ImageMagick pixel enumeration: 128,94,255,RGB
  2. 0,0: (254,254,254) #FEFEFE
  3. 1,0: (250,250,250) grey98
  4. 2,0: (248,248,248) #F8F8F8
  5. 3,0: (254,254,254) #FEFEFE
  6. 4,0: (255,255,255) grey100
  7. 5,0: (255,255,255) grey100
  8. 6,0: (255,255,255) grey100
  9. 7,0: (246,246,246) #F6F6F6
  10. 8,0: (245,244,249) #F5F4F9
  11. 9,0: (255,254,255) #FFFEFF


il faudra adapter ceci (avec du visualbasic) pour qu'il soit exploitable dans excel.

Reply

Marsh Posté le 10-10-2005 à 20:39:10    

Ahhh ben voila deja une idée. Merci jlighty pour ton aide.
Bon après il y a un bon petit programme VBA à faire pour exploiter ces couleurs, mais c'est en effet réalisable.
J'ai trouvé le logiciel "bmp to xls"  (http://www.sofotex.com/BMP-to-XLS-download_L34029.html) qui permet de colorier les cellules d'un tableau excel pour correspondre à une image bmp. A votre avis, c'est pas possible de trouver le meme logiciel, mais qui ne colorie pas les cellules, mais marque juste les valeurs à la place.
 
 
 
PS: Je precise que je souhaite travailler en niveaux de gris, ce qui peux simplifier bcp la recherche

Reply

Marsh Posté le 10-10-2005 à 20:43:36    

un coup de google (bmp2csv) m'a donné ce lien :
http://pulsar.tc.chiba-u.jp/~kake/bmpcsv/bmpcsv.html
et là tu as une archive avec : les binaires + les sources :)
http://pulsar.tc.chiba-u.jp/~kake/bmpcsv/bmpcsv_1.lzh
il ne te reste plus qu'à importer le fichier csv dans excel et le tour est joué


Message édité par jlighty le 10-10-2005 à 20:45:35
Reply

Marsh Posté le 10-10-2005 à 20:54:15    

Je sais pas pourquoi, mais j'ai un mauvais codage du logiciel:
Le site internet, le readme et le logiciel m'apparaissent seulement avec des ? et des !.
Peux-tu m'expliquer comment il marche stp?
Merci

Reply

Marsh Posté le 10-10-2005 à 20:58:13    

d'après le code source voici comment il fonctionne :
tu cliques sur le programme bmp2csv puis tu tapes le chemin de ton fichier bmp puis entrée ensuite tu tapes le chemin du fichier csv puis entrée.

Reply

Marsh Posté le 10-10-2005 à 21:02:11    

Oulaaaa, ca marche pas chez moi. Fais chier cette %*$£ù de police qui me manque....
Est ce que tu as essayé de l'utiliser?

Reply

Marsh Posté le 10-10-2005 à 21:02:11   

Reply

Marsh Posté le 10-10-2005 à 21:08:50    

oui et ça marche :)
j'ai regardé le code source, il n'a l'air que d'accepter les bmp 8bits (256 couleurs)
j'ai modifié les textes puis j'ai recompilé l'appli.
http://membres.lycos.fr/jlighty8/bmp2csv.exe
le source modifié :
http://membres.lycos.fr/jlighty8/bmp2csv.cpp

Message cité 1 fois
Message édité par jlighty le 10-10-2005 à 21:15:02
Reply

Marsh Posté le 10-10-2005 à 21:13:38    

Oh! bijoux!!! :-) Faux po s'énerver. Bon, comme tu l'as sans doute compris, c'est un programme compilé par un japonais d'ou les caratères un peu #@?#M% !!!
Cependant, je viens de l'essayer pour le fun et ... ça marche.
Tu cliques sur l'executable bmp2csv.exe,
Au départ, il te demande le nom du fichier bmp (input) à transcrire. Exemple: a.bmp (ne pas oublier l'extention .bmp).
Le deuxième message est le nom du fichier ouput
Exemple: a.csv
Alors le beaucoup programme te génère un fichier a.csv a partir du fichier initial.

Reply

Marsh Posté le 10-10-2005 à 21:15:34    

jlighty a écrit :

oui et ça marche :)
j'ai regardé le code source, il n'a l'air que d'accepter les bmp 8bits (256 couleurs)
j'ai modifié les textes puis j'ai recompilé l'appli.
http://membres.lycos.fr/jlighty8/bmp2csv.exe


 
 :hello:  
Pour le 8bits c'est bien possible ;-) j'ai po regarder. ;-)

Reply

Marsh Posté le 10-10-2005 à 21:23:07    

Ahhh, en fait mon image était en 24 bits!!! La maintenant, ca marche.
Alors deja, de 1, je te remercie bcp jlighty, parce que tu as été très sympa, rapide, et precis pour mon probleme.
 
Par contre, dernier petit probleme, quand j'importe mon fichier csv dans excel, les valeurs de chaque ligne de pixels se retrouvent dans la 1ere cellule de la ligne, et non 1 valeur par cellule. Comment faire?
 
Merci d'avance.

Reply

Marsh Posté le 10-10-2005 à 21:31:28    

Renomme le fichier .csv en .txt car Excel doit se servir du ";"  
il faut que tu mettes le caractère "," en tant que séparateur (si c'est pas possible, je peux le modifier)
PS: tu dois commencer l'importation depuis la 5 (les  4 premières ligne doivent peut être correspondre à la palette)


Message édité par jlighty le 10-10-2005 à 21:34:42
Reply

Marsh Posté le 10-10-2005 à 21:36:36    

Mais dans Excel, quand tu fais remplacer le caractere "," par.... tu peux pas mettre de separateur, non?
Et sinon, en effet, j'avais reperé que les 2 premieres colonnes et les 25 premiers lignes ne correspondent pas à mon image. C'est bien ca?

Reply

Marsh Posté le 10-10-2005 à 21:40:21    

renomme le fichier csv en .txt, tu pourras spécifier le séparateur.

Reply

Marsh Posté le 10-10-2005 à 21:41:18    

Ah, alors j'essaye.
Sinon, les 2 premieres colonnes ne semblent pas correspondre à mon image. Il y a un moyen de modifier ca dans l'exe?

Reply

Marsh Posté le 10-10-2005 à 21:42:40    

si c'est la palette, il va falloir modifier en conséquence les données de la matrice car ces données par directement à la valeur de gris mais à un index de la palette.

Reply

Marsh Posté le 10-10-2005 à 21:49:38    

Alors en effet, ca marche du tonnerre quand on mets le fichier texte en .txt.
 
Par contre, je remarque que ca change un peu mon image (J'ai fait une ligne noire verticale à partir du 6eme pixel, et au debut du fichier texte, la valeur 0 est à la 9eme colonne, puis apres 25 lignes, ca se decale à la 6eme colonne. Et de plus, ca "perds" le bas de mon image. (en fait, la ligne s'arrete, mais ca le fichier texte ne le montre pas).
 
Tu as une idée comment resoudre ca?

Reply

Marsh Posté le 10-10-2005 à 21:51:29    

tu pourrais mettre un lien sur ton image de test ?

Reply

Marsh Posté le 10-10-2005 à 22:00:01    

oui, pas de probleme:
http://img418.imageshack.us/img418/3660/test21vr.png
 
Par contre, imageshack me l'a mis en png...

Reply

Marsh Posté le 10-10-2005 à 22:13:03    

je viens de tester avec une diagonale en noir dans une image fond blanc (256x256).
Ce que je remarque :
- il ne faut pas activer la compression RLE
- l'image subit une rotation ou une symétrie (l'image est une diagonale en haut à gauche vers en bas à droite alors que dans le csv, c'est un diagonale en haut à droite vers en bas à gauche)
 
PS: j'ai fait l'image avec Gimp en mode "niveau de gris" puis exporter en bmp (option RLE décochée)


Message édité par jlighty le 10-10-2005 à 22:18:46
Reply

Marsh Posté le 10-10-2005 à 22:27:00    

En effet, je viens de faire qq tests avec the gimp. Ca fait en effet une rotation... C'est quand meme bizarre, ca le faisait pas avec ma 1ere image de test.....

Reply

Marsh Posté le 10-10-2005 à 22:31:55    

c'est une symétrie horizontale. Si tu continues à utiliser Gimp je peux corriger ce problème.

Reply

Marsh Posté le 10-10-2005 à 22:36:12    

Ah oui, moi il n'y a pas de problemes. Mais par contre, c'est mon prof qui va halluciner quand il va voir mon projet. Le debut:
"Tiré d'un programme japonais avec l'aide de jlighty..."
Mouarrfff, je le vois deja tiré une gueule pas possible!

Reply

Marsh Posté le 10-10-2005 à 22:44:38    

desolé je pensais que tu chercher à retirer des données au format txt d'une image d'une page ou autre pour les rentrer dans une base de donnée

Reply

Marsh Posté le 10-10-2005 à 22:49:08    

jean pierre a écrit :

desolé je pensais que tu chercher à retirer des données au format txt d'une image d'une page ou autre pour les rentrer dans une base de donnée


 
Ok jean pierre, c'est pas grave. C'est gentil d'avoir essayé de m'aider  :jap:

Reply

Marsh Posté le 10-10-2005 à 23:02:56    

voilà c'est modifié, tu peux récupérer l'exécutable depuis la :
http://membres.lycos.fr/jlighty8/bmp2csv.exe
et le source modifié :
http://membres.lycos.fr/jlighty8/bmp2csv.c


Message édité par jlighty le 10-10-2005 à 23:13:09
Reply

Marsh Posté le 10-10-2005 à 23:38:44    

Merci bcp jlighty.
J'essaiera demain pour verifier que tout fonctionne bien, mais c'est deja super ce que tu as fait. :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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