ปรับขนาดรูปภาพเป็นค่าความสูงเฉพาะใน ImageMagick


27

ฉันได้ตรวจดูสิ่งนี้แล้วและไม่สามารถหาวิธีแก้ปัญหาที่นำมาใช้ได้อย่างง่ายดาย

ขณะนี้ฉันกำลังทำงานกับแอพพลิเคชั่นที่เกี่ยวข้องกับภาพพาโนรามา เมื่อพวกเขาออกมาจากกระบวนการเย็บต่อเนื่องชุดขนาดเฉลี่ย 18,000x4000 การใช้ ImageMagick ฉันจะลดขนาดภาพเหล่านั้นลงเป็นค่าความสูงที่เฉพาะเจาะจงในขณะที่ยังคงอัตราส่วนไว้ได้อย่างไร

ตามคู่มือconvertการใช้งานการดำเนินการทั้งความสูงและความกว้างเพื่อปรับขนาดในขณะที่ยังคงอัตราส่วนกว้างยาวเดียวกัน สิ่งที่ฉันต้องการคือการใส่ 600 และ 1,000 ในฟังก์ชั่นปรับขนาดสคริปต์ที่มีอยู่ของฉันและมีทั้งภาพที่สามารถดูได้ตามปกติรวมถึงขนาดที่ลดลง


IIRC ใช้ขนาดที่เล็กกว่าเป็นฐานสำหรับการดำเนินการปรับขนาดเช่นหากคุณระบุบางอย่างเช่น 20000x600 มันจะใช้ความสูง 600 เป็นฐานในการคำนวณความกว้างที่แปลงแล้วเพื่อรักษาอัตราส่วนภาพ ฉันทำให้ตัวเองชัดเจนหรือไม่?
devius

จำเป็นต้องเป็น ImageMagick หรือไม่ คำสั่ง Phatch สามารถสคริปต์ได้คำสั่ง 'fit' ทำสิ่งที่คุณต้องการอย่างแท้จริง photobatch.wikidot.com/action-fit
Veazer

คำตอบ:


37

ตามเอกสารของ ImageMagickฉันแนะนำให้ใช้-geometry x600ในขณะที่x600หมายความว่าภาพใหม่มีความสูง 600 px ที่มีอัตราส่วนเดียวกันกับภาพเก่า


สำหรับภาพเดียวคุณสามารถเรียกใช้:

convert input.png -geometry x600 output.png

หากคุณต้องการที่จะแปลงภาพทั้งหมดของโฟลเดอร์ในการทำงานครั้งเดียวสลับไปที่มัน (เช่นcd ~/Pictures/panoramas/) และใช้

mogrify -geometry x600 *.png

แต่ต้องระวังกับที่เพราะมันเขียนทับไฟล์ภาพต้นฉบับ เพื่อหลีกเลี่ยงสิ่งที่คุณทำได้

  1. สร้างโฟลเดอร์ใหม่ ( mkdir ~/Pictures/panoramas/small)
  2. คัดลอกภาพไปยังโฟลเดอร์นี้ ( cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small) และ
  3. แก้ไขภาพในโฟลเดอร์ใหม่นี้ ( cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png)

1

เพื่อปรับขนาดไฟล์ทั้งหมดในโฟลเดอร์สามารถใช้สิ่งที่ต้องการ

mogrify - ปรับขนาด 800x1094! * jpg # รักษาอัตราส่วนภาพ

--- เปลี่ยนขนาดและนามสกุลตามความเหมาะสม


1
สิ่งนี้ไม่รักษาอัตราส่วนภาพของภาพต้นฉบับ
Rob

1
@Rob ถ้าคุณต้องการให้ปันส่วนด้านปล่อยให้ "!" ออก.
เอริค

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