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

Python Discussion :

Convertir JPG en WSQ


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut Convertir JPG en WSQ
    Bonjour tout le monde,


    En temps normal je trouve les réponses par moi même, mais je dois admettre que cette fois... Je sèche complètement. J'ai également posé la question sur le site-du-zéro, mais n'ayant pas pus résoudre mon problème j'ai penssé à la communauté developpez.com.




    Je voudrais :

    En python, créer une fonction capable de convertir une image au format JPG en une image au format WSQ.
    j'ai trouvé quelques soft capable de faire la manip pour moi, mais aucun code capable de m'aider.
    j'ai également tenté de regarder du coté de PIL, sans rien trouver pour le wsq...


    Explications :

    Le wsq est un format d'image.
    Il est utilisé pour les fichiers d'empreintes digitales. (car plus précis que le JPG etc...)

    je suis conscient que je ne récupérerai pas la qualité du wsq en convertissant une image JPG en wsq.

    Ici, j'en ai besoin car le système faisant le lien entre les personnes et leurs empreintes impose que celles-ci soient au format wsq. Donc je dois les convertir pour pouvoir les ajouter dans la base.




    Merci à tous ceux qui pourraient m'aider à avancer (ne serais-ce qu'un peu, serait déjà génial).

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour,

    J'ai cherché un peu également pour t'aider, mais rien de bien concluant, du moins en Python.

    Ceci dit, avec des application type Cython ou autre, tu peux étendre tes recherches à des modules en C (pas fait personellement).

    Autre possibilité également, j'ai pu trouvé via un moteur de recherche, des liens expliquant comment étaient composé les fichiers images WSQ. Ce pourrait être l'occasion de créer un module dédié de conversion d'un format géré par PIL, vers/depuis un format WSQ. Tu pourrais ainsi en profiter pour le poster sur Pypi afin de palier le manque communautaire sur ce sujet.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Merci pour ta réponse.

    Etant débutant en python et devant fournir une solution à mon tuteur pour ce vendredi.


    Il faudrait que j'analyse l’algorithme d'encodage du WSQ ainsi que celui du JPG pour pouvoir convertir l'un en l'autre ?
    Si tel-est le cas, je ne pense pas en être capable (et encore moins en une semaine...)

    la solution d'un module en C est la seule que je pense pouvoir envisager.
    Elle me permettrait d’étendre mes recherches.



    je reste dans l'attente d'autre solutions pouvant m'aider.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par joks93440 Voir le message
    la solution d'un module en C est la seule que je pense pouvoir envisager.
    Elle me permettrait d’étendre mes recherches.
    La difficulté est le design de l'algo. si vous partez des formats JPG et WSQ, il y a du boulot et c'est indépendant du langage.
    Si vous trouvez un code prêt a l'emploi dans n'importe quel langage, l’intégrer a une application écrite en Python (ou pas) n'est pas difficile.
    Et si le but est d'avoir quelque chose Vendredi, c'est raisonnable (si ce genre de code existe: je n'ai trouve que des applications payantes).
    Vous pourriez même vous amuser a le traduire en Python par la suite.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Cherche " Free FingerPrint Imaging Software" sur sourceforge. C'est une librairie libre en C pour le format WSQ si j'ai bien compris (encodage/decodage avec jpg). C'est sous licence LGPL V2
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par deusyss Voir le message
    Cherche " Free FingerPrint Imaging Software" sur sourceforge. C'est une librairie libre en C pour le format WSQ si j'ai bien compris (encodage/decodage avec jpg). C'est sous licence LGPL V2
    Effectivement ça a l'air super ! (l’espoir renaît ! )
    j'ai trouvé 2 sources intéressantes :
    -jpegb_decoder.c
    -wsq_encoder.c

    Si j'ai bien compris :
    jpegb_decoder.c permet de ré-encoder un JPEG en pixmap
    puis j'utilise wsq_encoder.c qui réencode un pixmap en JPEG.


    Citation Envoyé par wiztricks Voir le message
    Si vous trouvez un code prêt a l'emploi dans n'importe quel langage, l’intégrer a une application écrite en Python (ou pas) n'est pas difficile.
    Et si le but est d'avoir quelque chose Vendredi, c'est raisonnable (si ce genre de code existe: je n'ai trouve que des applications payantes).
    - W
    En partant désormais du principe que j'ai mes fichiers source qui fonctionnent, comment devrais-je m'y prendre pour faire les appels des fichiers c dans le fichier python ?
    je ne peut utiliser du C dans du python ? le code source en C doit se compiler n'est-ce pas ?

    Je suis un peu pommé, mis à part les appels de fonctions de quelques classes natives d'un langage, je n'ai jamais repris les sources d'un autre développeur pour essayé de les utiliser et encore moins des manipulations entre deux langages différents (hormis pour le dev web).


    Désolé, je dois surement vous embêter mais je suis développeur débutant, et ma tache me semble actuellement très compliqué.

  7. #7
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Ne t'inquiete pas. Ce forum est fait pour l'entraide, et même les experts ont parfois besoin d'aide. Bref, d'ont worry

    Alors tu dois utiliser cython. Là, il est vrai ça se complique un peu, et je suis loin d'etre expert sur ce sujet. Je vais donc deja te doner quelques liens, et ensuite, d'autre membre plus doué sur le sujet t'aideront surement:
    http://docs.python.org/2/extending/extending.html
    http://matthieu-brucher.developpez.c...n/api-c-numpy/
    https://www.google.com/search?q=inte...thon+avec+du+C

    Voilà, cela devrait dejà te donner quelques reponses. Le dernier lien est uniquement le resultat de recherches google, il y a plusieurs liens qui semble interessant, je te laisse les lire et faire toit meme le tri de ce qui t'interesse.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par joks93440 Voir le message
    En partant désormais du principe que j'ai mes fichiers source qui fonctionnent, comment devrais-je m'y prendre pour faire les appels des fichiers c dans le fichier python ?
    je ne peut utiliser du C dans du python ? le code source en C doit se compiler n'est-ce pas ?
    Si le C fonctionne c'est qu'il sera capable de prendre un .JPG en entrée de produire un WSQ en sortie.
    A partir de la, l’intégrer a l'application Python peut se faire avec subprocess: on lance le prog C depuis Python en lui donnant le fichier d’entrée et en récupérant éventuellement le fichier de sortie.


    Citation Envoyé par deusyss
    Alors tu dois utiliser cython. Là, il est vrai ça se complique un peu, et je suis loin d'etre expert sur ce sujet. Je vais donc deja te doner quelques liens, et ensuite, d'autre membre plus doué sur le sujet t'aideront surement:
    On en est peut etre pas encore la.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Pas faux. De plus, je n'avais pas pensé à subprocess, au temps pour moi. MEA CULPA.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par deusyss Voir le message
    Pas faux. De plus, je n'avais pas pensé à subprocess, au temps pour moi. MEA CULPA.
    Pas encore assez fainéant pour Python
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    A ma connaissance, Python peut appeler du C de 3 manières différentes:

    1- on a une bibliothèque écrite en C et déjà constituée (.dll, .so, ...): on peut utiliser le module ctypes de Python.

    2- on a un code C en source: Python peut l'appeler directement: c'est prévu! Mais il faut passer par un script intermédiaire pour construire l'interface. Le traitement de l'interface compilera en même temps le code C. J'ai fait un petit tuto il y a quelques jours sur le sujet: http://python.jpvweb.com/mesrecettes...ple_python_cpp. Il est prévu pour du C++, mais l'utilisation pour du C ne devrait pas poser de problème. Une fois fait, le résultat est un module qui sera utilisé par Python comme n'importe quel autre module.

    3- on a toujours un code C en source: Python peut passer par l'intermédiaire de Cython pour l'appeler. Par rapport au point précédent, c'est Cython qui va servir d'interface avec le code C, et c'est le traitement de Cython qui compilera le Code C en même temps. J'ai aussi fait un petit tuto sur le sujet, toujours en C++: http://python.jpvweb.com/mesrecettes...on_ecrite_en_c. Mais il faut installer Cython et apprendre un peu comment s'en servir. Une fois fait, le résultat est un module qui sera utilisé par Python comme n'importe quel autre module.

    Il faut, bien entendu avoir un compilateur sur la machine! Sous Windows, on peut utiliser Visual Studio ou MinGW: les 2 fonctionnent pour les cas précédents, et on peut choisir l'un ou l'autre pour le traitement à faire. Sous Linux, c'est gcc avec son environnement, mais il ne faut pas oublier de charger le module python-dev pour avoir les en-têtes. Sous MacOSX, je suppose que c'est XCode, mais je n'ai jamais essayé.

    Tout cela fonctionne facilement sur des exemples simples, mais je ne sais pas ce que ça donne avec ton code C. En particulier s'il demande des bibliothèques supplémentaires, s'il a été conçu pour un compilateur particulier non disponible, s'il a été écrit sous une version de C trop ancienne, etc... Seule la mise en pratique le montrera!
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    @tyrtamos.
    La gestion mémoire d'un programme C / C++ est assez décalée par rapport au garbage collector de Python.
    Essayez avec une biblio C que vous ne connaissez pas: c'est beaucoup plus ardu que de faire fonctionner les cas d'utilisation démontrant la mise en œuvre des interfaces.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour wiztricks,

    Je suis bien d'accord, d'où la prudence de ma dernière phrase. Ceci d'autant plus que ce code C travaillera sur une image.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Tout d'abord, MERCI à tous pour votre aide !

    je me voit obligé d'avouer que je me sent un peu largué...

    C'est pourquoi je vais essayé de résumer ce que j'ai compris de vos retours :
    -actuellement, en python pure, je n’ai aucun outils sur quoi m’appuyer pour convertir du format JPG en format WSQ.

    Solutions envisagables :
    -étendre mes recherches à un autre langage,
    par exemple du C, (qui serait d’ailleurs plus performant que le python) et ensuite l’appeler via du python.
    Soit par l'intermédiaire d’une interface, ou par cython.

    -Si je dois rester en python pure, cela signifierait que je devrais moi-même créer un module dédié à la conversion du format wsq.
    (Il faudrait que j'analyse l’algorithme d'encodage du WSQ ainsi que celui du JPG pour pouvoir convertir l'un en l'autre ?)



    Somme-nous d'accord ?

    Si tel est le cas, la solution 2 ne me semble pas accessible au vue de mes compétences actuelles...

    La première quand à elle me semble réalisable, mais j'ai des doutes concernant ma capacité à la réaliser d'ici vendredi...

  15. #15
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Si tel est le cas, la solution 2 ne me semble pas accessible au vue de mes compétences actuelles...
    Je le pense aussi...

    La première quand à elle me semble réalisable, mais j'ai des doutes concernant ma capacité à la réaliser d'ici vendredi...
    Il faut voir si le code C est bien documenté, je ne sais pas.

    -étendre mes recherches à un autre langage,
    par exemple du C, (qui serait d’ailleurs plus performant que le python) et ensuite l’appeler via du python.
    C'est semble-t-il la meilleure solution pour faire de l'application bête et méchante.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Ok merci, je vais envoyé un mail à mon tuteur.

    Citation Envoyé par fred1599 Voir le message
    faire de l'application bête et méchante.
    c'est à dire ?

  17. #17
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    c'est à dire ?
    Utiliser tout simplement les résultats d'un programme dans un code python...

    Voir du côté de subprocess et Popen

    Bonne continuation.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Ok.
    Merci à vous, je vais essayer de chercher dans ces directions.

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

Discussions similaires

  1. convertir jpg en une extension
    Par hassiba_45 dans le forum Windows
    Réponses: 4
    Dernier message: 28/03/2009, 20h58
  2. [C] Convertir JPG -> BMP
    Par F0ul dans le forum Débuter
    Réponses: 7
    Dernier message: 07/02/2009, 00h43
  3. convertir simplement un jpg en bmp
    Par Invité dans le forum Multimédia
    Réponses: 4
    Dernier message: 17/08/2005, 09h07
  4. [C#] Comment convertir une image bmp en jpg !!!
    Par vandeyy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 13/07/2004, 20h37
  5. Réponses: 3
    Dernier message: 25/05/2004, 11h13

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