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]