Qual programa pode redimensionar e cortar automaticamente uma pasta de imagens para uma determinada resolução?

11

Gostaria de pegar uma pasta de imagens de vários tamanhos e recortá-las em um quadrado de grade de 600 x 600, cortado no meio da imagem. Existe um programa que possa redimensionar e recortar automaticamente para essas dimensões e depois sair como um arquivo .png compactado? Para imagens menores que 600x600, eu gostaria que o programa aumentasse o tamanho da imagem para essa dimensão.

Peter
fonte
11
Eu verifiquei meu Irfanview, e sua colheita em lote é estática, com apenas a opção de começar dos cantos e um deslocamento fixo. Ele não pode fazer a centralização e o redimensionamento condicional solicitados pelo OP. Não é adequado para tamanhos de imagem variáveis.
Michael Nielsen
11
Eu estava muito esperançoso de que o XnConvert possa fazer o que você procura, mas, como o IrfanView, ele não fará um corte centralizado em tamanhos de imagem arbitrários.
Mark3

Respostas:

12

O comando Lote do Photoshop pode fazer isso. Você essencialmente 'gravaria' a si mesmo realizando o recorte etc. uma vez e depois executaria a gravação em todos os arquivos que deseja. Se você deseja redimensionar automaticamente as imagens menores, precisará fazer um pequeno script.

O Irfanview também possui um processador abrangente de lotes de imagens, mas pode exigir um pouco de experimentação para obter os resultados desejados.

ElendilTheTall
fonte
10

O ImageMagick permite executar comandos em uma janela de comando do Windows. Você precisa se sentir confortável com a criação de arquivos em lote do Dos.

Para um exemplo, veja a última postagem nesta discussão: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112

Exemplo relevante desta postagem do fórum:

@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
Rene
fonte
É melhor que as partes relevantes dos recursos externos sejam citadas ou resumidas aqui. Os links externos podem ficar offline a qualquer momento, invalidando uma resposta que contém apenas um link. O link que você forneceu tem uma resposta, no entanto, peço que cite o comando relevante aqui na sua resposta para torná-lo mais viável.
jrista
7

Primeiro, pensei que você queria redimensionar lotes, o que muitos programas podem fazer. Mas então percebi que você deseja fazer uma combinação de redimensionamento e corte e deseja que o computador calcule a melhor forma de cortar dinamicamente 600x600 pixels da imagem.

É porque não é um tipo de tarefa de "única solução verdadeira", como geralmente é o julgamento humano, como cortar a imagem, de modo que isso só pode ser feito através da inicialização de determinadas condições. Por exemplo, observe a relação de aspecto e sempre redimensione a dimensão mais curta para X e corte os pixels Y (centralizado / direito / esquerdo). Se eu li sua afirmação corretamente, você deseja cortar 600 pixels de X e Y centralizados em ambas as dimensões, se as duas dimensões forem 600 ou mais. E somente redimensione para 600 se uma dimensão for menor que 600?

Há muito tempo, queria adicionar um recurso como esse ao meu programa "Image View Plus More" e acho que as configurações do recurso devem ser algo como: - tamanho da colheita: wxh - largura do alinhamento: centro / esquerda / direita - altura do alinhamento: central / esquerda / direita - redimensionar: não / se menor que / se maior que / ambos

Você precisa de mais configurações?

Atualização: Agora terminei de programar esse recurso no Image View Plus More 2.4:

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

Instruções: instale, arraste e solte as imagens que deseja cortar nela, "salve todas na nova pasta" e dê um nome de base ou% para usar o nome do arquivo original e, na próxima caixa de diálogo, selecione "corte automático" "e preencha as caixas de largura e altura, selecione alinhamento" centro "para altura e largura e marque" redimensionar se menor ".

Eu fiz um tutorial de como fazer:

A solução para o problema do OP: http://www.youtube.com/watch?v=wBc1s6zuDJM

Outro exemplo: http://www.youtube.com/watch?v=3nFrnaefsqA

Michael Nielsen
fonte
Veja minha resposta, eu escrevi o código em python.
Onlyjus
11
Sim, agora não é tão estático, mas você tem certeza de que o OP está interessado em programar sua edição de imagens?
Michael Nielsen
Eu não faço ideia. O OP acabou de pedir um programa, então eu escrevi um.
Onlyjus
Como você vê, agora adicionei o recurso e tenho idéias para melhorias, como "mostrar por exemplo" (na foto atualmente visualizada), para que você não precise se limitar ao centro ou alinhado às bordas. Ofc eu teria que descobrir como generalizar esse exemplo para diferentes proporções e tamanhos.
Michael Nielsen
Agradável! Em que está escrito o seu programa e a fonte está disponível?
Onlyjus
5

Se você gosta de programar, pode usar Python (linguagem de computador) e uma excelente biblioteca sabe que o PIL pode cortar, redimensionar, plotar histogramas, obter valores de pixels individuais, etc ... em nível programático. Assim, você pode escrever facilmente um script simples para encontrar todas as imagens em uma pasta e executar a operação.

Esse código deve fazer exatamente o que você deseja e processar algumas fotos por segundo, dependendo do tamanho da imagem:

#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

Quando você começa a trabalhar no nível programático, o céu é o limite! É até possível detectar rostos e recortar ao redor do rosto, permitindo que você recorte de forma inteligente milhares de fotos ...

[atualizado em 12/12/2012]

Onlyjus
fonte
4

ThumbsPlus pode fazer o que você pede. No menu Imagem, selecione Processo em lote ou pressione F12 e responda às solicitações interativas. Você pode adicionar várias operações a um conjunto e salvá-lo para uso imediato e futuro. No futuro, basta acessar o nome do conjunto que você configurou anteriormente para executá-lo automaticamente em um diretório ou seleção de fotos, ou mesmo em uma árvore de diretórios inteira.

Ao construir o conjunto, você recebe uma imagem de amostra para ilustrar a opção que você adicionou às operações.

Tenha cuidado ao construir o conjunto, pois a ordem das operações é importante.

Victor Engel
fonte
4

O Sizzlepig.com é uma ferramenta on-line que fará isso com facilidade, você pode definir o tamanho do "blueprint" como 600x600 e, em seguida, fazer com que o recorte centralize todas as imagens.

Para a parte "Para imagens menores que 600x600, gostaria que o programa aumentasse o tamanho da imagem para essa dimensão". Eu recomendo NÃO tentar melhorar as imagens, mas tentar encontrar uma fonte de maior qualidade para trabalhar. Sei que nem sempre é possível, mas resultará em uma saída de qualidade muito mais alta do que a tentativa de melhorar a qualidade.

(Eu trabalho para o sizzlepig, mas ainda é uma ótima ferramenta)

Jeremy
fonte
Por favor, veja as perguntas frequentes . Não há problema em mencionar suas próprias coisas aqui, mas você precisa dizê-lo.
Por favor, leia meu perfil
11
Legal. Bem-vindo ao site, fique por perto, responda e faça outras perguntas. :)
Por favor, leia meu perfil
2

O Irfanview pode fazer isso, mas requer um pouco de configuração.

Use a opção de conversão em lote. Escolha "PNG" como seu formato de saída. Clique no botão "opções" ao lado do formato de saída e escolha a compactação desejada e clique em OK

Marque a caixa que diz "Usar opção avançada" e clique no botão "avançado"

Você verá esta janela

Configurações avançadas do Irfanview

Configure o redimensionamento com o lado mais curto 600. Assinale "preservar a proporção" e "usar a função de redefinição de amostra". Desmarque "Não amplie imagens menores"

Se você estiver reduzindo drasticamente o tamanho das imagens originais, marque a caixa "nitidez" e adicione um valor. Minha exigência era para imagens de tamanho 150x150 e achei que elas precisavam de um valor de nitidez de cerca de 20 para corresponder à qualidade da imagem que eu estava obtendo no photoshop. Para suas imagens de 600 x 600, talvez você não precise de um valor de nitidez - para poder desmarcar essa opção.

Em vez de usar "cortar", use a configuração "tamanho da tela" - marque a opção

Clique no botão "configurações" ao lado da opção de tamanho da tela. Você verá esta janela

Opções de tamanho de tela do Irfanview

Selecione o método 2 e largura e altura como 600. Escolha a opção "centro" para a âncora

A cor da tela não importa, pois não adiciona uma borda de imagem

Agora, na tela avançada, marque novamente a caixa ao lado de "ordem de processamento personalizada" e verifique se o "redimensionamento" é o primeiro da lista - ou seja, para que o redimensionamento seja feito antes da colheita.

Clique OK

Verifique se você selecionou os arquivos que deseja converter, configure o diretório de saída e clique em "iniciar lote"

Nat
fonte
0

Há um utilitário com várias opções disponíveis em http://pixresizer.software.informer.com/

Este é um bom software. Bons meios, fáceis de usar e mais rápidos no trabalho. Ao fotografar, uso-a para processar imagens em lote. Muitas vezes, preciso reduzir o tamanho das fotos para compartilhá-las na Internet. Também tentei outro software, mas achei bom. (Não estou associado a esta empresa.)

Mahesh Mankar
fonte
O software é bom? Por quê? Você está associado à empresa?
Paul Cezanne
Oi Paul, Sim, este é um bom software. Bons meios, fáceis de usar e mais rápidos no trabalho. Ao fotografar, uso-a para processar imagens em lote. Também tentei outro software, mas achei bom. Não !, Eu não estou associado a esta empresa.
Mahesh Mankar
Mahesh, você pode receber seus comentários e editar sua resposta? Nem todo mundo lê os comentários. E conte-nos mais e mais sobre isso, adoraríamos saber!
Paul Cezanne
0

Não sei por que ninguém mencionou, mas o meu favorito é multipleimageresizer.net . Permite fazer muito como cortar, alterar o formato, tamanho, adicionar texto, marca d'água ... etc. em várias imagens ao mesmo tempo.

Isso economiza tempo real .. Eu recomendo!

538ROMEO
fonte