Aller au contenu

redimensionner des images via le lisp


GEGEMATIC

Messages recommandés

Salut à toutes et à tous,

je cherche un programme pilotables via .com pour redimensionner une image et la sauvegarder avec un suffixe "_mini".

J'ai bien GDAL qui doit faire ça, mais la syntaxe, avant que je trouve !

Si vous trouvez un programme en dehors de lisp qui sait faire du traitement par lot dans plusieurs répertoires différents et qui est capable de sauvegarder la miniature de l'image dans le même rep que l'image, je prends aussi !

a+

Gégé

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Finalement j'ai trouvé, comme d'hab la doc est pourrie, il faut faire des test pour y arriver

gdal_translate -outsize 10% 10%  "Source.jpg" "source_mini.jpg"

copie l'image source vers une version mini réduite à 10%

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

En fait je me suis emballé,

oui j'ai trouvé la syntaxe de gdal_translate

oui je sais créer un geotiff avec Gdal_translate

mais je n'ai jamais été fichu de manipuler une fenêtre d'invite de commande avec lisp:

Les activex "Wscript.Shell", "Scripting.Filesystemobject" ou encore "Shell.Application" ne marchent pas pour ça

je ne suis même pas capable de lancer la fenêtre osGeo dans un startapp:

(startapp "C:\Program Files\QGIS 3.22.7\bin\o4w_env.bat") ne marche pas

ce qui marche c'est Commande: SHELL "C:\Program Files\QGIS 3.22.7\OSGeo4W.bat"

mais dans ce cas, je perd le contrôle de la fenêtre, et ça ne me sert à rien.

si vous avez des idées pour créer mes miniatures ...

a+

Gégé

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Citation

Si vous trouvez un programme en dehors de lisp qui sait faire du traitement par lot dans plusieurs répertoires différents et qui est capable de sauvegarder la miniature de l'image dans le même rep que l'image, je prends aussi !

Pour l'avoir déjà utilisé, IrfanView 64 permet de faire du traitement par lot.

Dans mon cas je l'avais utilisé pour passer du scan25 de l'IGN d'un département entier qui sont en couleur pour obtenir des images identiques en 256 niveaux de gris. La raison était que l'insertion de projets en couleur soient très visible lors de présentation. L'opération avait très bien fonctionné.

Même s'il y a beaucoup d'options dans ce logiciel qui ne sont pas forcément évidentes lors d'une première utilisation, il est très efficace.

Je pense que la création de vignettes est a sa portée.

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Salut les gars, et merci !

il y a 35 minutes, Olivier Eckmann a dit :

Tu as regardé du côté des expresstools?  acet-sys-spawn     acet-sys-wait    acet-sys-term

Commande: (acet-sys-spawn 1 "C:\Program Files\QGIS 3.22.7\bin\o4w_env.bat")
-1

et puis c'est tout ...

il y a 33 minutes, Olivier Eckmann a dit :

Sinon, il y a peut-être ça pour la manipulation d'image plus simple que GDAL? 

https://imagemagick.org/script/command-line-processing.php

J'ai une vielle version d'imagemagick, j'en avais besoins pour gsview il me semble, je vais télécharger la dernière

il y a 15 minutes, bonuscad a dit :

Pour l'avoir déjà utilisé, IrfanView 64 permet de faire du traitement par lot.

Je pense que la création de vignettes est a sa portée.

xnview le fait aussi, mais avec un seul répertoire output, donc dans mon cas ça marche pas, et si tu dis que la syntaxe est compliquée ... mais je garde l'info.

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

il y a 9 minutes, Olivier Eckmann a dit :

xnviewmp https://www.xnview.com/fr/xnviewmp/ fait le boulot en traitement par lot.

vidéo https://autode.sk/3sfdSKo

 

Olivier

merci Olivier, je vois Xnview a bien évolué !

sur ta vidéo je n'ai pas vu si on pouvait rechercher les images dans les sous répertoires ?

c'est ça mon problème, j'ai des tas de sous répertoire ...

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Citation

si tu dis que la syntaxe est compliquée

Il n'y a pas de syntaxe tout se fait dans des fenêtres de dialogues avec des options à cocher/choisir et elles sont nombreuses... c'est là qu'on peut se sentir un peu perdu!

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Alors, ce n'est pas Xnview, mais XnViewMP  la version plus évoluée, mais toujours gratuite.

On ne peut pas explorer tous les sous dossiers d'un dossier, via le bouton ajout, par contre on peut glisser déposer depuis l'explorateur et tous les fichiers images se trouvant dans les dossiers/sous-dossier sont automatiquement ajoutées.

https://autode.sk/3eNQf8u

Olivier

Lien vers le commentaire
Partager sur d’autres sites

salut, encore merci,

finalement j'ai opté pour la génération d'un batch en lisp, avec imagemagick,

car j'ai tellement de sous répertoire que ça peut être long d'alimenter xnview, et si je change d'avis sur la taille de l'image, son format etc.. je dois tout recommencer.

bien sur il y avait un piège! le maudi % dans un bat. Par réussi à régler le pb, pour l'instant j'opte pour une largeur fixe.

Voilà ce que ça donne:

(defun c:cree_mignatures_jpg (/ dir lfile chem nom ext  f)
  (setq dir (pw_pick_directory "Choisir un répertoire" dir))
  (setq lfile (FindFilesLike dir "*.jpg" "AllDirectories"))
  (setq f (open (strcat dir "\\2mignature.bat") "w"))
  (write-line "CHCP 1252" f)
  (foreach im lfile
    (setq chem  (vl-filename-directory im)
	  nom (vl-filename-base im)
	  ext (vl-filename-extension im))
    (write-line (strcat "magick \"" im "\" -resize 200 \"" chem "\\" nom "_mini" ext "\"") f)
  )
  (write-line "PAUSE" f)
  (close f)
)

pour FindfileLike:

sujet findfileslike

sinon il est dans la dll jointe

usage (FindFilesLike "Directory" "filepattern" "mode = TopDirectoryOnly or AllDirectories")

 

G-Eaux_Map_Extensions.dll

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

CurlyGoth m'a proposé également un truc interressant, car c'est direct dans windows: WIA

Pour créer le conteneur:

(setq img (vlax-create-object "WIA.ImageProcess"))

Pour savoir ce qu'on peut faire avec :

https://silkyroad.developpez.com/VBA/WindowsImageAcquisition/

 

----------------------------------------------------------------------

Site: https://www.g-eaux.fr

Blog: http://g-eaux.over-blog.com

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité