Quel programme peut automatiquement redimensionner et rogner un dossier d'images à une certaine résolution?

11

Je voudrais prendre un dossier d'images de différentes tailles et les faire recadrer dans un carré de grille 600x600, découpé au milieu de l'image. Existe-t-il un programme qui peut automatiquement redimensionner et recadrer à ces dimensions, puis sortir sous forme de fichier .png compressé? Pour les images plus petites que 600x600, j'aimerais que le programme augmente la taille de l'image à cette dimension.

Peter
la source
1
J'ai vérifié mon Irfanview, et son recadrage par lots est statique avec seulement l'option de commencer à partir des coins et un décalage fixe. Il ne peut pas effectuer le centrage et le redimensionnement conditionnel demandé par le PO. Il n'est pas adapté aux tailles d'image variables.
Michael Nielsen
1
J'étais très confiant que XnConvert pourrait faire ce que vous recherchez, mais comme IrfanView, il ne fera pas de recadrage centré sur des tailles d'image arbitraires.
Mark Whitaker

Réponses:

12

La commande Batch de Photoshop peut le faire. Vous vous enregistreriez essentiellement en effectuant le recadrage, etc. une fois, puis exécuter l'enregistrement sur tous les fichiers que vous souhaitez. Si vous souhaitez redimensionner automatiquement les images plus petites, vous devrez faire un peu de script.

Irfanview possède également un processeur de traitement d'images complet mais peut nécessiter un peu d'expérimentation pour obtenir les résultats souhaités.

ElendilTheTall
la source
10

ImageMagick vous permet d'exécuter des commandes dans une fenêtre de commande Windows. Vous devez être à l'aise avec la création de fichiers batch Dos.

Pour un exemple, voir le dernier message de cette discussion: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112

Exemple pertinent de ce message sur le forum:

@echo off

cd C:\Users\user\Desktop\New\New folder

convert *.jpg -fuzz 10%% -trim -write %%02d_trim.png -scale "x1!" txt:

convert *_trim.png -crop 209x329+0+0 -fuzz 10%% -trim +repage %%02d_left.png

convert *_trim.png -crop 173x336+227+0 -fuzz 10%% -trim +repage %%02d_right.png

@pause
René
la source
Il est préférable que les parties pertinentes des ressources externes soient citées ou résumées ici. Les liens externes peuvent potentiellement se déconnecter à tout moment, invalidant une réponse qui ne contient qu'un lien. Le lien que vous avez fourni a une réponse, mais je vous demanderais de citer la commande appropriée ici dans votre réponse pour la rendre plus viable.
jrista
7

J'ai d'abord pensé que vous vouliez redimensionner par lots, ce que de nombreux programmes peuvent faire. Mais j'ai réalisé que vous vouliez faire une combinaison de redimensionnement et de recadrage, et que vous vouliez que l'ordinateur calcule la meilleure façon de découper 600x600 pixels de l'image de manière dynamique.

C'est parce que ce n'est pas une tâche de type "une seule vraie solution", comme c'est généralement le jugement humain, comment recadrer l'image, donc cela ne peut être fait qu'en amorçant certaines conditions. Par exemple, regardez le rapport d'aspect et redimensionnez toujours la dimension la plus courte en X et recadrez les pixels Y (centré / droit / gauche). Si je lis bien votre déclaration, vous voulez recadrer 600 pixels de X et Y centrés dans les deux dimensions, si les deux dimensions sont 600 ou plus. Et seulement redimensionner à 600 si une dimension est inférieure à 600?

Je souhaite depuis longtemps ajouter une fonctionnalité comme celle-ci à mon programme "Image View Plus More", et je suppose que les paramètres de la fonctionnalité devraient être quelque chose comme: - taille du recadrage: lxh - largeur d'alignement: centre / gauche / droite - hauteur d'alignement: centre / gauche / droite - redimensionner: non / si plus petit que / si plus grand que / les deux

D'autres paramètres dont vous auriez besoin?

Mise à jour: j'ai maintenant terminé la programmation de cette fonctionnalité dans Image View Plus More 2.4:

http://www.sequoiagrove.dk/tools.php

Mode d'emploi: installez, faites glisser les images que vous souhaitez recadrer, "enregistrez tout dans un nouveau dossier", et donnez-lui un nom de base ou% pour utiliser le nom de fichier d'origine, puis dans la boîte de dialogue suivante, sélectionnez "recadrage automatique" "et remplissez les cases pour la largeur et la hauteur, et sélectionnez l'alignement" centre "pour la hauteur et la largeur, et cochez" redimensionner si plus petit ".

J'ai fait un tutoriel pour le faire:

La solution au problème OP: http://www.youtube.com/watch?v=wBc1s6zuDJM

Un autre exemple: http://www.youtube.com/watch?v=3nFrnaefsqA

Michael Nielsen
la source
Voir ma réponse, j'ai écrit le code en python.
Onlyjus
1
Oui maintenant ce n'est pas si statique, mais êtes-vous sûr que l'OP est intéressé à programmer sa retouche d'image?
Michael Nielsen
Je n'ai aucune idée. L'OP vient de demander un programme, alors j'en ai écrit un.
Onlyjus
Comme vous le voyez, j'ai maintenant ajouté la fonctionnalité et j'ai des idées d'améliorations, comme "montrer par l'exemple" (sur la photo actuellement consultée), vous ne devez donc pas vous limiter au centré ou aligné sur les bords. Ofc, je devrais trouver comment généraliser cet exemple à différents rapports d'aspect et tailles.
Michael Nielsen
Agréable! Quel est votre programme écrit et la source est-elle disponible?
Onlyjus
5

Si vous aimez la programmation, vous pouvez utiliser Python (langage informatique) et une excellente bibliothèque sait avoir PIL pour recadrer, redimensionner, tracer des histogrammes, obtenir des valeurs de pixels individuelles, etc ... au niveau programmatique. Ainsi, vous pouvez facilement écrire un script simple pour trouver toutes les images dans un dossier et effectuer l'opération.

Ce code devrait faire exactement ce que vous voulez et devrait traiter quelques images par seconde, selon la taille de l'image:

#Python 2.7, PIL 1.1.7

import Image
import glob
import os

#Function to resize image, preserving aspect ratio
def resizeAspect(im, size):
    w,h = im.size
    aspect=min(size[0]/float(w), size[1]/float(h))
    return im.resize((int(w*aspect),int(h*aspect)),Image.ANTIALIAS)

imgList=glob.glob('C:/icons/*.png')         #Find all png images in a directory

for img in imgList:                              #Loop through all found images
    im = Image.open(img)                         #open the image
    print "resizing:",os.path.basename(img)
    w,h = im.size                                #Get image width and height
    if min(w,h)<600:                             #Check if either dimension is smaller then 600
        im=resizeAspect(im,(600,600))            #Re-size Image
        w,h = im.size                            #update image size
    center = [int(w/2.0),int(h/2.0)]             #Calculate Center
    box = (center[0]-300, center[1]-300, center[0]+300, center[1]+300) #Defines a box where you want it to be cropped
    croppedIm = im.crop(box)                     #Crop the image
    #croppedIm.show()                            #Show the cropped image
    fileName, fileExtension=os.path.splitext(img)
    croppedIm.save(fileName+'_crop.png', "PNG")  #Save the cropped image

Lorsque vous commencez à travailler au niveau programmatique, le ciel est la limite! Il est même possible de détecter des visages et de recadrer autour du visage, vous permettant de recadrer intelligemment des milliers de photos ...

[mis à jour le 09/12/2012]

Onlyjus
la source
4

ThumbsPlus peut faire ce que vous demandez. Dans le menu Image, sélectionnez Traitement par lots ou appuyez sur F12 et répondez aux invites interactives. Vous pouvez ajouter plusieurs opérations à un ensemble et l'enregistrer pour une utilisation immédiate ainsi qu'une utilisation future. À l'avenir, il vous suffit d'accéder au nom de jeu que vous avez précédemment configuré pour l'exécuter automatiquement sur un répertoire ou une sélection de photos, ou même une arborescence de répertoires entière.

Lors de la création de l'ensemble, un exemple d'image vous est fourni pour illustrer l'option que vous avez ajoutée aux opérations.

Soyez prudent lors de la construction de l'ensemble, car l'ordre des opérations est important.

Victor Engel
la source
4

Sizzlepig.com est un outil en ligne qui le fera facilement, vous pouvez définir la taille du "plan" sur 600x600, puis le recadrer au centre de toutes les images.

Pour la partie "Pour les images inférieures à 600x600, j'aimerais que le programme augmente la taille de l'image à cette dimension." Je recommande fortement de NE PAS tenter de mettre à l'échelle les images, mais d'essayer de trouver une source de meilleure qualité avec laquelle travailler. Je sais que ce n'est pas toujours possible, mais cela se traduira par une sortie de bien meilleure qualité que d'essayer de monter en gamme.

(Je travaille pour sizzlepig, mais c'est toujours un excellent outil)

Jeremy
la source
Veuillez consulter la FAQ . C'est bien de mentionner vos propres choses ici, mais vous devez le dire.
Veuillez lire mon profil
1
Cool. Bienvenue sur le site, restez et répondez et posez d'autres questions. :)
Veuillez lire mon profil
2

Irfanview peut le faire mais nécessite un peu de configuration.

Utilisez l'option de conversion par lots. Choisissez "PNG" comme format de sortie. Cliquez sur le bouton "options" à côté du format de sortie et choisissez la compression que vous souhaitez et cliquez sur OK

Cochez la case "Utiliser l'option avancée" puis cliquez sur le bouton "avancé"

Vous verrez cette fenêtre

Paramètres avancés d'Irfanview

Configurez le redimensionnement avec le côté le plus court 600. Assurez-vous de cocher "Conserver les proportions" et "Utiliser la fonction de rééchantillonnage". Décochez "Ne pas agrandir les petites images"

Si vous réduisez considérablement la taille de vos images originales, vous souhaiterez peut-être cocher la case "Netteté" et ajouter une valeur. J'avais besoin d'images de taille 150x150 et j'ai trouvé qu'elles avaient besoin d'une valeur de netteté d'environ 20 pour correspondre à la qualité d'image que je recevais de Photoshop. Pour vos images 600x600, vous n'avez peut-être pas besoin d'une valeur de netteté - vous pouvez donc décocher cette option.

Au lieu d'utiliser "recadrer", utilisez le paramètre "taille du canevas" - assurez-vous de cocher l'option

Cliquez sur le bouton "Paramètres" à côté de l'option de taille de la toile. Vous verrez cette fenêtre

Options de taille de la toile Irfanview

Sélectionnez la méthode 2 et la largeur et la hauteur à 600. Choisissez l'option "centre" pour l'ancre

La couleur de la toile n'a pas d'importance car elle n'ajoutera pas réellement de bordure d'image

Maintenant, sur l'écran avancé, cochez à nouveau la case à côté de "Ordre de traitement personnalisé" et assurez-vous que le "redimensionnement" est le premier sur la liste - c'est-à-dire pour que le redimensionnement soit effectué avant le recadrage.

Cliquez sur OK

Assurez-vous d'avoir sélectionné les fichiers que vous souhaitez convertir, configurez le répertoire de sortie puis cliquez sur "démarrer le lot"

Nat
la source
0

Un utilitaire avec plusieurs options est disponible sur http://pixresizer.software.informer.com/

C'est un bon logiciel. De bons moyens, faciles à utiliser et plus rapides dans le travail. Comme je fais de la photographie, je l'utilise pour traiter des images en lot. Plusieurs fois, je dois réduire la taille des photos pour les partager sur Internet. J'ai également essayé d'autres logiciels, mais j'ai trouvé celui-ci bon. (Je ne suis pas associé à cette entreprise.)

Mahesh Mankar
la source
Le logiciel est-il bon? Pourquoi? Êtes-vous associé à l'entreprise?
Paul Cezanne
Salut Paul, Oui, c'est un bon logiciel. De bons moyens, faciles à utiliser et plus rapides dans le travail. Comme je fais de la photographie, je l'utilise pour traiter des images en lot. J'ai également essayé d'autres logiciels, mais je les ai trouvés bons. Non !, je ne suis pas associé à cette entreprise.
Mahesh Mankar
Mahesh, pouvez-vous prendre vos commentaires et modifier votre réponse? Tout le monde ne lit pas les commentaires. Et dites-nous de plus en plus à ce sujet, nous aimerions savoir!
Paul Cezanne
0

Je ne sais pas pourquoi personne ne le mentionne, mais mon préféré est multipleimageresizer.net . Il vous permet de faire beaucoup comme le recadrage, le changement de format, la taille, l'ajout de texte, le filigrane ... etc. sur plusieurs images en même temps.

C'est un véritable gain de temps .. Je recommande!

538ROMEO
la source