Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2020, à 14:48

Jtomoise

Redimensionnement d'images par lot

Bonjour
J'aimerais savoir quelles sont les possibilités de réaliser un redimensionnement par lot d'images sous ubuntu ? A-t-on maintenant une solution plus conviviale et... contemporaine que ImageMagick en ligne de commande ?
Cordialement

Hors ligne

#2 Le 05/03/2020, à 14:59

TheSun

Re : Redimensionnement d'images par lot

Oui il y a des solutions graphiques simple pour redimensionner en lot.

Par exemple XnView le permet => https://www.xnview.com/fr/

Par contre c'est pas opensource mais c'est multiplateforme donc dispo aussi sous linux.

prend XnViewMP => https://www.xnview.com/fr/xnviewmp/

Dernière modification par TheSun (Le 05/03/2020, à 15:00)

#3 Le 05/03/2020, à 15:00

abelthorne

Re : Redimensionnement d'images par lot

Ça dépend à quel point tu veux faire du traitement par lot (plusieurs dossiers/sous-dossiers, etc.). gThumb permet de traiter toutes les images (ou une partie sélectionnée) d'un dossier, par exemple, que ce soit pour les redimensionner ou les convertir dans un autre format. En ligne de commande, je ne suis pas sûr qu'on trouve mieux ou plus puissant qu'ImageMagick.

Hors ligne

#4 Le 05/03/2020, à 15:01

michel_04

Re : Redimensionnement d'images par lot

Bonjour.


J'utilise ce script trouvé sur le forum (il me semble) que j'ai nommé Redim-Images.sh.

#!/bin/bash
#
# Author : Mathieu Vilaplana <mathieu@creationgif.com>
# Author : Matthieu MARC <matthieu.marc@wanadoo.fr>
#
# Copyright (C) 2005,2006  Charles Bouveyron <charles.bouveyron@free.fr>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

# pour l'internationalisation des messages	
# to generate the i18n file from .po file :
# $ msgfmt -o .locale/fr/LC_MESSAGES/nis.mo .locale/fr/LC_MESSAGES/fr.po
export TEXTDOMAIN="nis"
export TEXTDOMAINDIR=`dirname $0`"/.locale/"

MAXCPT=50000;

nb_images=0;
selection="";

txt_error="`gettext 'error'`"
#test if a file has been selected
if [ $# -eq 0 ]; then
	# zenity --error --title=$txt_error --text="`gettext 'You must select at least 1 file to process'`"
	here=`pwd`"/."
	files=`zenity --file-selection --multiple --separator="|" --filename="$here"`"|"
	#if $? != 0, user click on cancel button, so exit
	if [ "$?" != 0 ] ; then
		exit
	fi
	cpt=0
	# I put all filename in $selection here because I didn't managed to put filenames with whitespace in $*
	while [ ${#files} -gt 0 ]; do
		f="`echo $files |cut -f1 -d'|'`"
		isimage=`file -bi "$f" |grep -c image`
		if [ $isimage -eq 1 ]; then
			selection[$nb_images]=$f
			let "nb_images++"
		fi
		files=`echo $files |cut -f2- -d"|"`
		let "cpt++"
		# only to avoid infinite loop (do not occured normaly, but nobody never know.. perhaps!)
		if [ $cpt -gt $MAXCPT ]; then
			shift
		fi
	done
fi

#===================================
#       SELECT SIZE DIALOG
txt_text="`gettext 'Choisir taille image'`"
txt_title=$txt_text
txt_size="`gettext 'Taille'`"

imgsize=`zenity --title "$txt_title" --text "$txt_text" --list --radiolist --separator=" " --column="" --column="$txt_size" FALSE "60x60" FALSE "90x80" FALSE "160x120" FALSE "220x140" FALSE "320x240" FALSE "640x480" FALSE "800x600" TRUE "1024x768" FALSE "1728x1296" FALSE "2592x1944" --height=410`

#if $? != 0, user click on cancel button, so exit
if [ "$?" != 0 ] ; then
	exit
fi

#user must select a target size
imgsize=`echo $imgsize | sed 's/ max//g'`
if [ ! "$imgsize" ]; then
	zenity --error --title=$txt_error --text="`gettext 'select a target size'`"
	# just restart myself (more user friendly I think)
	($0 "$*")&
	exit
fi

#transform 640x480 en 640x640 for convert to respect proportions
himgsize=$imgsize
val1=`echo "$imgsize" | awk -F'x' '{ print $1  }'`
imgsize="${val1}x${val1}"

#       END SELECT SIZE DIALOG
#=========================


#Select only images
while [ $# -gt 0 ]; do
	isimage=`file -bi "$1" | grep -c image` 
	if [ $isimage -eq 1 ]; then
		selection[$nb_images]=$1
		let "nb_images++"
	else
		isdir=`file -b "$1" |grep -c directory`
		if [ $isdir -eq 1 ]; then
			for f in `ls -1 "$1"`; do
				isimage=`file -bi "$1/$f" |grep -c image`
				if [ $isimage -eq 1 ]; then
					selection[$nb_images]="$1/$f"
					let "nb_images++"
				fi
			done
		fi
	fi
	shift
done

n=$nb_images
let "n=n-1"
(for i in `seq 0 $n`;do
	picture=${selection[$i]}
	img_filename=`basename "$picture"`
	img_dirname=`dirname "$picture"`

	#create directory if not exist and at least one image to process
	if [ ! -d "$img_dirname/$himgsize"  ]; then
		mkdir -p "$img_dirname/$himgsize"
	fi

	let "compteur += 1"
	echo "`gettext '# Processing image'` $compteur / $nb_images $img_filename ..."
	convert -quality 80 -resize $imgsize "$picture" "$img_dirname/$himgsize/$img_filename"
	#convert -quality 80 -resize $imgsize "$picture" $himgsize/"$picture"
	let "progress = compteur*100/nb_images"
	echo $progress
done
) | zenity --progress --auto-close --title="`gettext 'Scaling images'`" --text="`gettext 'Processing images ...'`"  --percentage=0

#(gnome-open "`dirname \"${selection[0]}\"`/$himgsize") &
(thunar "`dirname \"${selection[0]}\"`/$himgsize") &
exit

Je lance ce script avec ce lanceur :

[Desktop Entry]
Version=1.0
Type=Application
Name=Redim-Images
Comment=
Exec=/home/michel/Mes_Scripts/Redim-Images.sh
Icon=apport
Path=
Terminal=false
StartupNotify=false
Name[fr_FR]=Redim-Images

A+

Hors ligne

#5 Le 05/03/2020, à 15:05

TheSun

Re : Redimensionnement d'images par lot

Vous avez pas compris sa demande, c'est un débutant qui recherche à redimensionner de façon simple via une interface graphique comme sous Windows.

XnView le permet puisque je l'ai utilisé, maintenant il existe probablement d'autres outils opensource mais XnView permet énormément de réglage par interface graphique (redimensionnement par dimension, par taille imposé, par qualité etc...)

#6 Le 05/03/2020, à 15:45

jeange

Re : Redimensionnement d'images par lot

+1000


CLEVO W670SZQ  SSD 480Go  i3  Ram 12Go Ubuntu 22.04.4 et 24.04.1 LTS 64bit
Thinkpad X270 nvme 128Go i5 Ram 8Go Ubuntu 24.04 LTS 64bit et W10
Merci de donner les retours avec les balises < > et les allers avec les valises, et toujours pas de raton laveur.
%NOINDEX%

Hors ligne

#7 Le 05/03/2020, à 15:47

michel_04

Re : Redimensionnement d'images par lot

TheSun a écrit :

Vous avez pas compris sa demande, c'est un débutant qui recherche à redimensionner de façon simple via une interface graphique comme sous Windows.

sad
Nom d'utilisateur     Jtomoise
Date d'inscription    Le 21/11/2014

Edit : Et Chichi aurait dit : " P'tin, déjà cinq ans !!!" big_smile

Dernière modification par michel_04 (Le 05/03/2020, à 15:49)

Hors ligne

#8 Le 05/03/2020, à 15:48

jeange

Re : Redimensionnement d'images par lot

Un débutant en traitement par lot. wink


CLEVO W670SZQ  SSD 480Go  i3  Ram 12Go Ubuntu 22.04.4 et 24.04.1 LTS 64bit
Thinkpad X270 nvme 128Go i5 Ram 8Go Ubuntu 24.04 LTS 64bit et W10
Merci de donner les retours avec les balises < > et les allers avec les valises, et toujours pas de raton laveur.
%NOINDEX%

Hors ligne

#9 Le 06/03/2020, à 10:12

Jtomoise

Re : Redimensionnement d'images par lot

La solution XNviewMP ne marche pas... Elle ne s'ouvre pas. Pas franchement surprenant à la vue des scores différentes évaluations.;) Il existe a priori un plugin BIMP pour permettre à Gimp de redimensionner par lot mais, après compilation plus ou moins problématique, je n'ai pas réussi à savoir comment on l'utiliser...
Cordialement

Hors ligne

#10 Le 06/03/2020, à 10:31

abelthorne

Re : Redimensionnement d'images par lot

Et tu as essayé gThumb ?

Hors ligne

#11 Le 06/03/2020, à 10:36

jeange

Re : Redimensionnement d'images par lot

Jtomoise a écrit :

La solution XNviewMP ne marche pas... Elle ne s'ouvre pas

En clair ???

Jtomoise a écrit :

Il existe a priori un plugin BIMP pour permettre à Gimp de redimensionner par lot mais, après compilation plus ou moins problématique, je n'ai pas réussi à savoir comment on l'utiliser...

Quelle version de Gimp, Snap Flatpak PPa ?


CLEVO W670SZQ  SSD 480Go  i3  Ram 12Go Ubuntu 22.04.4 et 24.04.1 LTS 64bit
Thinkpad X270 nvme 128Go i5 Ram 8Go Ubuntu 24.04 LTS 64bit et W10
Merci de donner les retours avec les balises < > et les allers avec les valises, et toujours pas de raton laveur.
%NOINDEX%

Hors ligne

#12 Le 06/03/2020, à 10:51

TheSun

Re : Redimensionnement d'images par lot

Jtomoise a écrit :

La solution XNviewMP ne marche pas... Elle ne s'ouvre pas

N'importe quoi !
Bien-sûr que si que XNviewMP fonctionne, c'est un logiciel connu. et le traitement par lot fonctionne très bien (par contre il y a beaucoup d'option donc peut être que tu auras du mal à trouver le réglage que tu souhaites la première fois).

La preuve je viens de l'installer à l'instant, preuve en capture d'écran : https://nsa40.casimages.com/img/2020/03 … 358060.png

Alors ne dis pas que ça ne marche pas, dis plutôt que tu ne sais pas installer !

Ok il y a un petit piège pour ce logiciel auquel un novice pourrai se faire avoir : pour l'installer il ne suffit pas d'installer juste le paquet deb, il faut aussi installer une dépendance (libopenal1) mais c'est facile à voir.

Dernière modification par TheSun (Le 06/03/2020, à 10:54)

#13 Le 06/03/2020, à 11:50

kholo

Re : Redimensionnement d'images par lot

salut,
comme Michel_04 j'utilise un script...
comme on n'est jamais mieux servi que par soit même je me le suis écrit... justement après avoir chercher et pas trouvé ce que je voulais (garder les originaux !)
je suis full ubuntu donc pas de soucis de chercher ailleurs si ça marche...
j'ai mis le script dans les scripts nautilus et j'ai juste à sélectionner les images puis clic droit, je choisi dans un combo et paf !!!
le script crée un sous dossier du nom de la compression ou de la taille, copie les images et les redimensionne (comme ça je garde les originales en plein format et je peux tester différents ratios et formats...)
@Michel_04 et pas besoin de lanceur lol

Attention avec ce script toutefois
il faut être dans le dossier et pas dans une vue en arborescence (avec les petites flèches)
... et pas de sous dossiers, il faut se promener à la main...
mais c'est tellement rapide et efficace que j'ai jamais eu besoin de modifier le script pour ça !

Hors ligne