ฉันจะขยายภาพทั้งหมดในโฟลเดอร์ให้มีความกว้างเท่ากันได้อย่างไร


97

ฉันต้องการปรับขนาดภาพทั้งหมดในโฟลเดอร์ที่กำหนดให้มีความกว้างเท่ากัน (แต่มีความสูงที่แตกต่างกันอย่างเหมาะสม) ฉันจะทำสิ่งนี้โดยใช้เครื่องมือที่ใช้ GUI หรือบรรทัดคำสั่งได้อย่างไร

สำหรับคะแนนโบนัสเป็นไปได้หรือไม่ที่จะ จำกัด ขนาดของภาพที่ปรับขนาดตามความกว้างเริ่มต้น (กล่าวคือเฉพาะภาพขนาดที่มีความกว้าง> x และ / หรือความกว้าง <y)


avconv สามารถทำได้ผ่าน CLI - ดูที่: libav.org/avconv.html#scale-1
Elder Geek

คำตอบ:


152

นี้เป็นเรื่องง่ายมากที่จะทำอย่างไรกับImageMagick คุณควรจะสามารถติดตั้งได้ใน Software Center ฉันอยากจะแนะนำสำหรับการประมวลผลภาพชุด

การปรับขนาดแบทช์นั้นง่ายมาก (ฉันทดสอบกับ Ubuntu 11.10) ใช้คำสั่งต่อไปนี้เพื่อปรับขนาดไฟล์. jpg ทุกไฟล์ให้มีความกว้าง 200 พิกเซลทำให้อัตราส่วนกว้างยาว:

$ convert '*.jpg[200x]' resized%03d.png

คุณสามารถรักษาชื่อไฟล์โดยใช้ตัวเลือก - ชุด Ex:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

หากคุณมีไฟล์มากกว่านี้คุณควรใช้พร้อมค้นหา

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

นี่เป็นเพียงการเกาที่พื้นผิวของพลังของ imagemagick ปรับขนาดสามารถปรับอย่างไม่มีที่สิ้นสุด สำหรับการปรับขนาดขั้นสูงเพิ่มเติมคุณต้องใช้-resizeตัวเลือก

คุณสามารถ จำกัด การปรับขนาดที่จะหดตัว :

$ convert '*.jpg[300x>]' thumb-300-%03d.png

หรือการขยาย :

$ convert '*.jpg[300x<]' thumb-300-%03d.png

ดูเอกสารทางเรขาคณิตเพื่อดูตัวเลือกเพิ่มเติม


1
ทำไมต้อง jpg ถึง png
JohnyTex

3
นามสกุล. jpg และ. png เป็นเพียงตัวอย่างเพื่อสาธิตการใช้รูปแบบที่แตกต่างกัน
bandi

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือก - ชุด: imagemagick.org/script/command-line-options.php ; โดยทั่วไป-set <property-name> <value>ตั้งค่าคุณสมบัติ %<one-character>และ%[<one-or-more-characters>]ถูกขยายโดย Imagemagick ตามมูลค่า คุณสมบัติที่ใช้เพื่อกำหนดชื่อไฟล์เอาต์พุตโดยทางโปรแกรมต้องเริ่มด้วยfilename:ดังนั้นเราต้องคัดลอกbaseคุณสมบัติที่มีพา ธ อิมเมจลงในfilename:<something>คุณสมบัติ
marcotama

1
ขอบคุณที่แบ่งปันเคล็ดลับนี้ฉันไม่รู้!
marcotama

2
คุณสมบัติภาพที่ไม่รู้จัก "% [ฐาน]"
โพสต์ด้วยตนเอง

32

สำหรับ GUI Phatch "การคลิกหนึ่งครั้งมีค่านับพันภาพ" เป็นสิ่งที่ดีที่สุดสำหรับงานที่รวดเร็วเช่นนี้ มันมีอยู่แล้วในที่เก็บ Ubuntu

sudo apt-get install phatch
  1. เพิ่มมาตราส่วน & บันทึกรายการ
  2. ตั้งค่าตัวเลือกสเกล / ปรับขนาด
  3. ตั้งค่าตัวเลือกบันทึก / ส่งออก
  4. วิ่ง
  5. ตั้งค่าโฟลเดอร์อินพุต
  6. คลิกแบตช์เพื่อดำเนินการ

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


2
สำหรับการ upvote ตัวอย่างวิธีการทำงานให้สำเร็จในคำถามจะดี :) แต่ขอบคุณสำหรับเคล็ดลับเครื่องมือที่ดี!
jaywink

2
สิ่งนี้ใช้ไม่ได้กับเครื่องของฉัน (Ubuntu Mate 16.04) แอปติดอยู่บนหน้าจอเริ่มต้น
Gunith D

1
@GunithDevasurendra ลองจากบรรทัดคำสั่งเพื่อตรวจสอบข้อผิดพลาด หากคุณไม่สามารถแก้ไขได้โปรดเขียนคำถามอีกข้อและรวมผลลัพธ์นั้นไว้ด้วย
user.dz

1
เครื่องมือที่ยอดเยี่ยมฉันใช้มันมาหลายปี น่าเสียดายที่มันไม่มีการระบายและไม่สามารถใช้งานได้ใน Ubuntu รุ่นปัจจุบัน หวังว่าใครบางคนสามารถแยกรหัสเพื่อแก้ไขได้
Diego V

บน Fedora ก็ไม่ได้เช่นเดียวกับข้างต้นและมีฟังก์ชันการทำงานเช่น
Vlad

29

ลองสิ่งนี้:

sudo apt-get install gimp-plugin-registry

จากนั้นเปิดขึ้น Gimp Filters > Batch > Batch Processและเปิดปลั๊กอินแบทช์ที่พบใน

เลือกรูปภาพของคุณในInputแท็บและกำหนดการดำเนินการปรับขนาดในResizeแท็บที่มีชื่อแปลกใจ

ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่


21

ลองmogrifyคำสั่งจากเครื่องมือ ImageMagick

  • ให้เส้นทางที่จะแยกออกจากต้นฉบับ
  • ให้ความกว้างหรือความสูงของภาพขนาดย่อที่ต้องการด้านล่างเป็นตัวอย่างความกว้าง
  • วิธีนี้คุณจะเก็บชื่อไฟล์เดิมไว้ :-)

ตัวอย่าง:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg

1
นี่คือคำตอบที่ดีที่สุดในความคิดของฉัน!
Tom

2
$ mogrify -path small / -resize 300x * .jpg
Iurie Malai

+1 และคุณสามารถปรับขนาดด้านที่ยาวที่สุดไม่ว่าจะเป็นแนวตั้งหรือแนวนอนภาพหมุน: stackoverflow.com/a/5694903/227926
therobyouknow

9

นี่คือวิธีที่ฉันทำโดยลดขนาดภาพใหญ่ขึ้นเท่านั้น :

find . -iname \*.jpg -exec convert -verbose -quality 80 -resize 1600\> "{}" "FOO_FOLDER/{}" \;

มันจะปรับขนาดความสูงอย่างเหมาะสม

เมื่อต้องการใช้convertคำสั่งคุณจำเป็นต้องติดตั้ง ImageMagick sudo apt-get install imagemagickผ่าน

สำหรับ Windows โปรดดูที่: สคริปต์ Batch ปรับขนาดภาพ


8

ตอบและยอมรับ (และฉันใช้ ImageMagick) แต่เพื่อความสมบูรณ์ ... ฉันมีหัวหน้าที่ไม่ใช่ด้านเทคนิคที่ต้องการเครื่องมือดูพื้นฐานที่มีเครื่องมือพื้นฐานบางอย่างและต้องเป็น GUI ฉันตัดสินใจในgThumbสำหรับเขา

ในมุมมองรูปขนาดย่อคุณ ...

  • เลือกรูปภาพใด ๆ ที่คุณต้องการปรับขนาด
  • เริ่มฟังก์ชั่นปรับขนาด (คลิกที่ไอคอนประแจ> ปรับขนาดรูปภาพ .. )
  • ใส่ขนาดใหม่ตามพิกเซลหรือเปอร์เซ็นต์
  • เลือกโฟลเดอร์ผลลัพธ์และคุณไม่ต้องไปไหน

สำหรับการปรับขนาดเป็นทางเลือกที่ดีสำหรับ Phatch จนกว่าจะได้รับการแก้ไขสำหรับ 16.04
Hastig Zusammenstellen

3

สำหรับชุดปรับขนาดภาพที่ฉันได้มองที่แพคเกจจำนวนมากและในที่สุดก็พบหนึ่งที่มีอินเตอร์เฟซที่ใช้งาน - converseen เมื่อคุณค้นพบว่าการตั้งค่าที่สำคัญค่อนข้างซ่อนอยู่ในบานหน้าต่างด้านซ้ายที่เลื่อนได้ทั้งหมดนั้นดี
ไม่แน่ใจว่าสิ่งนี้ตรงตาม OPs ทั้งหมดหรือไม่ แต่คุณอาจไม่ต้องดู UIs ที่แปลกประหลาดของ imagemagick หรือ phatch
แพคเกจการจัดการรูปภาพอย่างเช่น digikam, f-spot, fotoxx หรือ shotwell ดูเหมือนจะไม่ได้ตระหนักถึงความจำเป็นในการคัดลอก / การปรับขนาดชุดของภาพก่อนที่จะอัพโหลดไปยังบริการออนไลน์เช่น photobucket หรือ (ปิดปาก) flickr บริการเหล่านี้ต้องการให้เราทำในสิ่งที่พวกเขาทำเท่านั้นดังนั้นฉันจึงไม่ไว้ใจพวกเขาในการสำรองต้นฉบับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.