effectuer automatiquement la fonction seuil sur une image et sauver le resultat
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

effectuer automatiquement la fonction seuil sur une image et sauver le resultat



  1. #1
    Kondelec

    effectuer automatiquement la fonction seuil sur une image et sauver le resultat


    ------

    Bonjour à tous

    Comme indiqué dans le titre je voudrais effectuer un traitement sur des images BMP qui se trouvent déjà en niveau de gris (256 niveaux) :
    - J'ouvre l'image
    - L'application effectue un seuil sur une valeur donnée, on se retrouve alors avec une image qui ne contient que des pixels totalement blancs ou noirs
    - L'image résultante est sauvegardé en BMP
    - On applique une nouvelle valeur de seuil à l'image initiale
    - L'image est sauvegardée en BMP
    etc jusqu'à appliquer toutes les valeurs de seuils souhaitées (je pense que 16 niveaux différents devraient suffire). On récupère donc à la fin 16 images.

    En ce qui concerne les langages je maitrise assez bien VBA, et j'ai quelques notions de C ou (vraiment basiques) de java (sur arduino ou processing).
    Quel langage serait le plus adapté pour répondre à mon besoin ? Si plus adapté je peux très bien aborder un autre langage.

    -----

  2. #2
    umfred

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Tu peux le faire dans (pratiquement) tous les langages dès lors que tu peux manipuler (lire/écrire) les octets d'un fichier.
    un peu d'aide sur la composition du fichier BMP https://en.wikipedia.org/wiki/BMP_file_format
    On doit trouver facilement des exemples de lecture de fichier bmp dans ces langages (pour certains, il y a peut-être même des bibliothèques pour faciliter les choses)

  3. #3
    polo974

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Bonjour,
    Perso, je pense qu'en python avec la lib pillow, c'est codé en moins de 20 lignes.

    Bien sûr on peut facilement ouvrir un BMP "de base" à la main, mais un BMP n'est pas toujours "de base"...

    Edit: pillow et numpy
    Dernière modification par polo974 ; 16/04/2024 à 17h35.
    Jusqu'ici tout va bien...

  4. #4
    Ikhar84
    Animateur Informatique

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Je ne sais pas si c'est pertinent, mais les logiciels de graphisme peuvent être "pilotés" par des langages de scripts...

    Avec Gimp, par exemple (le seul dont je suis certain que çe se fait), le langage de script maison : script-fu...

    https://docs.gimp.org/fr/gimp-using-...st-script.html

    Quitte à développer un outil, autant le faire en tant qu'extension d'unlogiciel connu et utilisé, surtout si c'est le logiciel qui s'occupe des basses besognes...
    J'ai glissé Chef !

  5. A voir en vidéo sur Futura
  6. #5
    Flyingbike
    Modérateur*

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Un peu old school mais vraiment fait pour cela : ImageJ

    exemple
    https://www.futurelearn.com/info/cou...0/steps/281766
    https://visikol.com/blog/2019/02/16/building-an-imagej-macro-for-batch-processing-of-images-from-imaging-well-plates/

    L
    e truc de feignasse : on peut créer des macros en enregistrant les actions réalisées par la GUI.




    C'est extrêmement utilisé pour l'analyse d'images scientifiques, par exemple (détection d'objets, mesures, etc)
    Dernière modification par Flyingbike ; 16/04/2024 à 17h52.
    La vie trouve toujours un chemin

  7. #6
    Kondelec

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Merci pour toutes ces réponses.
    Je connais ImageJ mais je n'avais jamais vu qu'on pouvait enregistrer des macros, ce serait surement la solution la plus accessible.
    Je vais essayer et je fais un retour

  8. #7
    Kondelec

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    J'ai eu un peu de mal à trouver mais ça y est ça marche.
    Il suffit de recopier cette partie autant de fois que nécessaire en modifiant le seuil et le nom du fichier résultant :

    Code:
    open("C:/Users/xxxxxxx/ImgDepart.tif");
    setAutoThreshold("Default dark no-reset");
    setThreshold(51, 255, "raw");
    run("Convert to Mask");
    saveAs("Tiff", "C:/Users/xxxxxxx/Img1.tif");
    Ce serait plus propre avec un "for to next", mais je ne sais pas comment le faire...

  9. #8
    Kondelec

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Voilà j'ai trouvé comment créer une boucle, ça marche parfaitement.
    Merci pour votre aide

  10. #9
    Flyingbike
    Modérateur*

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    exemple :


    Code:
    
    dir = getDirectory("Choose Source");
    
    
    for (s=seuil min; s<seuil max; s=s+intervalle seuil)
    {
    setAutoThreshold("Default dark no-reset");
    setThreshold("s", 255, "raw");
    run("Convert to Mask");
    saveAs("Tiff", dir + s + ".tif");
    }
    A adapter

    EDIT ; j'ai été trop lent. Noter la concaténation pour enregistrer chaque image avec chaque valeur de seuil dans le nom du fichier
    La vie trouve toujours un chemin

  11. #10
    Kondelec

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Tu as répondu après mais ton code contient des fonctions que je vais regarder de plus près.
    Par contre il manque une ligne pour choisir le fichier initial non ?

  12. #11
    Flyingbike
    Modérateur*

    Re : effectuer automatiquement la fonction seuil sur une image et sauver le resultat

    Oui parce que j’ai testé sur un fichier déjà ouvert.

    En se donnant un petit peu de mal, on peut choisir en input un répertoire entier et processer tout son contenu.

    On peut aussi appliquer une macro avec le mode batch de imageJ mais ça doit être moins flexible.
    La vie trouve toujours un chemin

Discussions similaires

  1. mesurer la taille des fibres automatiquement sur image j
    Par valentin07 dans le forum Logiciel - Software - Open Source
    Réponses: 29
    Dernier message: 25/05/2021, 11h58
  2. sauver des vies, sauver notre économie, plan B
    Par keke1976 dans le forum Covid-19, SARS-CoV2 : actualités et discussions
    Réponses: 0
    Dernier message: 17/10/2020, 15h20
  3. Matlab : Associer image à resultat dans interface
    Par Groupe5ST dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 02/04/2014, 08h28
  4. Problème sur le résultat de la fonction de c2d de Matlab
    Par Buggy26 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 21/09/2012, 09h08
  5. Fonction d'un solide, resultat temporel.
    Par invite865041db dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 28/04/2010, 21h34