Program apa yang dapat secara otomatis mengubah ukuran & memotong folder gambar ke resolusi tertentu?

11

Saya ingin mengambil folder gambar dengan berbagai ukuran dan memangkasnya menjadi kotak 600 x 600, dipotong dari tengah gambar. Apakah ada program yang dapat secara otomatis mengubah ukuran dan memotong ke dimensi ini, dan kemudian output sebagai file .png terkompresi? Untuk gambar yang lebih kecil dari 600x600, saya ingin program meningkatkan ukuran gambar ke dimensi itu.

Peter
sumber
1
Saya memeriksa Irfanview saya, dan crop batch-nya statis dengan hanya opsi untuk memulai dari sudut dan offset tetap. Itu tidak dapat melakukan pemusatan dan pengubahan ukuran bersyarat yang diminta oleh OP. Itu tidak cocok untuk ukuran gambar variabel.
Michael Nielsen
1
Saya sangat berharap XnConvert dapat melakukan apa yang Anda cari, tetapi seperti IrfanView, ia tidak akan melakukan pemangkasan terpusat pada ukuran gambar yang berubah-ubah.
Mark Whitaker

Jawaban:

12

Perintah Batch Photoshop dapat melakukan ini. Anda pada dasarnya akan 'merekam' diri Anda melakukan pemangkasan dll sekali, lalu jalankan rekaman pada semua file yang Anda inginkan. Jika Anda ingin secara otomatis mengubah ukuran gambar yang lebih kecil Anda harus melakukan sedikit skrip.

Irfanview juga memiliki prosesor batch gambar yang komprehensif tetapi mungkin memerlukan sedikit eksperimen untuk mendapatkan hasil yang Anda inginkan.

ElendilTheTall
sumber
10

ImageMagick mari kita jalankan perintah di jendela perintah windows. Anda harus merasa nyaman dengan membuat file batch Dos.

Untuk contoh, lihat posting terakhir dalam diskusi ini: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21112

Contoh yang relevan dari pos forum ini:

@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
sumber
Yang terbaik jika bagian sumber daya eksternal yang relevan dikutip atau dirangkum di sini. Tautan eksternal dapat berpotensi offline kapan saja, membatalkan jawaban yang hanya berisi tautan. Tautan yang Anda berikan memiliki jawaban, namun saya akan meminta Anda mengutip perintah yang relevan di sini dalam jawaban Anda untuk membuatnya lebih layak.
jrista
7

Pertama saya pikir Anda ingin mengubah ukuran batch, yang dapat dilakukan banyak program. Tapi kemudian saya menyadari Anda ingin melakukan kombinasi mengubah ukuran dan memotong, dan Anda ingin komputer menghitung cara terbaik memotong 600x600 piksel dari gambar secara dinamis.

Itu karena itu bukan jenis "satu solusi sejati" tugas, karena biasanya panggilan penilaian manusia, cara memotong gambar, sehingga hanya dapat dilakukan dengan bootstrap kondisi tertentu. Misalnya, lihat rasio aspek, dan selalu ubah ukuran dimensi terpendek ke X dan potong piksel Y (tengah / kanan / kiri). Jika saya membaca pernyataan Anda dengan benar, Anda ingin memotong 600 piksel dari X dan Y yang berpusat di kedua dimensi, jika kedua dimensi tersebut 600 atau lebih. Dan hanya mengubah ukuran menjadi 600 jika satu dimensi lebih kecil dari 600?

Saya sudah lama ingin menambahkan fitur seperti ini ke program saya "Image View Plus More", dan saya kira pengaturan fitur harus seperti: - ukuran krop: wxh - rata lebar: tengah / kiri / kanan - sejajar tinggi: tengah / kiri / kanan - ukuran: tidak ada / jika lebih kecil dari / jika lebih besar dari / keduanya

Adakah pengaturan lagi yang Anda butuhkan?

Pembaruan: Saya sekarang selesai memprogram fitur ini ke dalam Image View Plus More 2.4:

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

How-to: install, drag'n'drop gambar yang ingin Anda potong ke dalamnya, "simpan semua ke folder baru", dan berikan nama samaran atau% untuk menggunakan nama file asli, dan kemudian pada dialog berikutnya pilih "autocrop "dan isi kotak untuk lebar dan tinggi, dan pilih" pusat "perataan untuk tinggi dan lebar, dan centang" ubah ukuran jika lebih kecil ".

Saya membuat tutorial bagaimana melakukannya:

Solusi untuk masalah OP: http://www.youtube.com/watch?v=wBc1s6zuDJM

Contoh lain: http://www.youtube.com/watch?v=3nFrnaefsqA

Michael Nielsen
sumber
Lihat jawaban saya, saya menulis kode dengan python.
Onlyjus
1
Ya sekarang tidak begitu statis, tetapi apakah Anda yakin OP tertarik memprogram editing gambarnya?
Michael Nielsen
Saya tidak punya ide. OP hanya meminta program, jadi saya menulis satu.
Onlyjus
Seperti yang Anda lihat sekarang saya menambahkan fitur, dan saya punya ide untuk perbaikan, seperti "tunjukkan dengan contoh" (pada foto yang saat ini dilihat), jadi Anda tidak perlu membatasi diri untuk terpusat atau disejajarkan dengan tepinya. Ofc saya harus mencari cara untuk menggeneralisasikan contoh itu ke berbagai aspek rasio dan ukuran.
Michael Nielsen
Bagus! Apa program Anda ditulis dan sumber tersedia?
Onlyjus
5

Jika Anda suka pemrograman, Anda dapat menggunakan Python (bahasa komputer) dan pustaka yang sangat baik tahu memiliki PIL untuk memotong, mengukur ulang, plot histogram, dapatkan masing-masing piksel piksel, dll ... pada tingkat program. Dengan demikian Anda dapat dengan mudah menulis skrip sederhana untuk menemukan semua gambar dalam folder dan melakukan operasi.

Kode ini harus melakukan apa yang Anda inginkan dan harus memproses beberapa gambar per detik, tergantung pada ukuran gambar:

#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

Ketika Anda mulai bekerja pada level program, maka langit adalah batasnya! Bahkan dimungkinkan untuk mendeteksi wajah dan memotong di sekitar wajah, memungkinkan Anda untuk memotong ribuan foto secara cerdas ...

[diperbarui 09/12/2012]

Hanya saja
sumber
4

ThumbsPlus dapat melakukan apa yang Anda minta. Pada menu Gambar, pilih Proses Gelombang atau tekan F12 dan jawab petunjuk interaktif. Anda dapat menambahkan beberapa operasi ke set dan menyimpannya untuk penggunaan segera serta untuk penggunaan di masa mendatang. Di masa mendatang, cukup akses nama yang telah Anda konfigurasikan sebelumnya untuk menjalankannya secara otomatis pada direktori atau pilihan foto, atau bahkan seluruh pohon direktori.

Saat membuat set, Anda diberikan gambar sampel untuk menggambarkan opsi yang telah Anda tambahkan ke operasi.

Hati-hati dalam membangun set, karena urutan operasi itu penting.

Victor Engel
sumber
4

Sizzlepig.com adalah alat online yang akan melakukan ini dengan mudah, Anda dapat mengatur ukuran "cetak biru" menjadi 600x600, dan kemudian memangkas semua gambar.

Untuk bagian "Untuk gambar yang lebih kecil dari 600x600 saya ingin program untuk meningkatkan ukuran gambar ke dimensi itu." Saya sangat merekomendasikan TIDAK berusaha untuk meningkatkan gambar, tetapi mencoba mencari sumber kualitas yang lebih tinggi untuk bekerja dengannya. Saya tahu itu tidak selalu mungkin, tetapi itu akan menghasilkan output kualitas yang jauh lebih tinggi daripada mencoba untuk meningkatkan.

(Saya bekerja untuk sizzlepig, tetapi masih merupakan alat yang hebat)

Jeremy
sumber
Silakan lihat faq . Boleh saja menyebutkan hal-hal Anda sendiri di sini, tetapi Anda harus mengatakannya.
Silakan Baca Profil Saya
1
Keren. Selamat datang di situs ini, dan tetaplah di sini dan jawab dan ajukan beberapa pertanyaan lain. :)
Silakan Baca Profil Saya
2

Irfanview dapat melakukan ini tetapi membutuhkan sedikit pengaturan.

Gunakan opsi konversi Batch. Pilih "PNG" sebagai format output Anda. Klik tombol "opsi" di sebelah format output dan pilih kompresi yang Anda inginkan dan klik OK

Centang kotak yang mengatakan "Gunakan opsi lanjutan" lalu klik tombol "lanjutan"

Anda akan melihat jendela ini

Pengaturan lanjutan Irfanview

Atur ukuran dengan sisi terpendek 600. Pastikan Anda mencentang "pertahankan rasio aspek" dan "gunakan fungsi sampel ulang". Hapus centang "Jangan memperbesar gambar yang lebih kecil"

Jika Anda secara dramatis mengurangi ukuran gambar asli Anda maka Anda mungkin ingin mencentang kotak "mempertajam" dan menambahkan nilai. Persyaratan saya adalah untuk gambar berukuran 150x150 dan saya menemukan mereka membutuhkan nilai mempertajam sekitar 20 agar sesuai dengan kualitas gambar yang saya dapatkan dari photoshop. Untuk gambar 600x600 Anda, Anda mungkin tidak perlu nilai pertajam - jadi Anda dapat menghapus opsi itu.

Alih-alih menggunakan "pangkas", gunakan pengaturan "ukuran kanvas" - pastikan Anda mencentang opsi

Klik tombol "pengaturan" di sebelah opsi ukuran kanvas. Anda akan melihat jendela ini

Pilihan ukuran kanvas Irfanview

Pilih metode 2 dan lebar dan tinggi sebagai 600. Pilih opsi "tengah" untuk jangkar

Warna kanvas tidak masalah karena tidak akan benar-benar menambahkan batas gambar

Sekarang di layar lanjutan lagi centang kotak di sebelah "urutan pemrosesan kustom" dan pastikan bahwa "mengubah ukuran" pertama pada daftar - yaitu sehingga mengubah ukuran dilakukan sebelum pemotongan.

Klik OK

Pastikan Anda telah memilih file yang ingin Anda konversi, mengatur direktori output dan kemudian klik "mulai batch"

Nat
sumber
0

Ada utilitas dengan beberapa opsi yang tersedia di http://pixresizer.software.informer.com/

Ini adalah perangkat lunak yang bagus. Berarti bagus, mudah digunakan dan lebih cepat dalam bekerja. Saat saya melakukan fotografi, saya menggunakannya untuk memproses gambar dalam batch. Sering kali saya perlu mengurangi ukuran foto untuk membaginya melalui internet. Saya juga mencoba beberapa perangkat lunak lain, tetapi ternyata ini bagus. (Saya tidak terkait dengan perusahaan ini.)

Mahesh Mankar
sumber
Apakah perangkat lunaknya bagus? Mengapa? Apakah Anda terkait dengan perusahaan?
Paul Cezanne
Hai Paul, Ya ini perangkat lunak yang bagus. Berarti bagus, mudah digunakan dan lebih cepat dalam bekerja. Saat saya melakukan fotografi, saya menggunakannya untuk memproses gambar dalam batch. Saya juga mencoba beberapa perangkat lunak lain, tetapi ternyata bagus. Tidak! Saya tidak terkait dengan perusahaan ini.
Mahesh Mankar
Mahesh, bisakah Anda mengambil komentar dan mengedit jawaban Anda? Tidak semua orang membaca komentar. Dan beri tahu kami lebih banyak tentang itu, kami ingin tahu!
Paul Cezanne
0

Saya tidak tahu mengapa tidak ada yang menyebutkannya, tetapi favorit saya adalah multipleimageresizer.net . Ini memungkinkan Anda melakukan banyak hal seperti memotong, mengubah format, ukuran, menambahkan teks, tanda air ... dll. pada banyak gambar sekaligus.

Ini adalah penghemat waktu nyata .. Saya sarankan!

538ROMEO
sumber