โปรแกรมที่ดีในการปรับขนาดเป็น 100,000 ภาพ jpg คืออะไร?


21

โปรแกรมควรทำงานในโหมดแบทช์เพื่อปรับขนาดไฟล์ทั้งหมดในโฟลเดอร์แล้วบันทึกไฟล์ใหม่ไปยังโฟลเดอร์อื่น ตัวเลือกสำหรับการตั้งค่าคุณภาพของ jpg ก็ยอดเยี่ยมเช่นกัน


2
การรวมกันของ find และ ImageMagic
mspasov

คำตอบ:


30

ฉันแปลกใจเล็กน้อยที่ไม่มีใครพูดถึงตัวเลือกที่ง่ายที่สุดถูกที่สุดและน้อยที่สุด:

อัตโนมัติ

ก่อนอื่นให้เปิด Automator ซึ่งอยู่ในโฟลเดอร์ Applications ของคุณ

จากนั้นเลือกสร้างเวิร์กโฟลว์ใหม่:

สร้างเวิร์กโฟลว์อัตโนมัติ

ถัดไปเพิ่มขั้นตอนต่อไปนี้ลงในเวิร์กโฟลว์โดยการลากและวาง:

ขั้นตอนเวิร์กโฟลว์

เมื่อคุณใช้งาน Automator จะไปที่:

  1. เปิดหน้าต่างขึ้นมาเพื่อขอให้คุณเลือกไฟล์บางไฟล์ (มากเท่าที่คุณต้องการ)
  2. เปิดหน้าต่างใหม่ขึ้นมาถามว่าคุณต้องการบันทึกสำเนาที่ปรับขนาดไว้ที่ใด
  3. ถามคุณว่าคุณต้องการให้สำเนาที่ปรับขนาดนั้นใหญ่แค่ไหน คุณจะสามารถเลือกขนาดที่แน่นอนหรือเปอร์เซ็นต์ก็ได้ รูปภาพทั้งหมดจะถูกปรับขนาดเป็นขนาดนั้นหรือตามเปอร์เซ็นต์นั้น

(ช่องทำเครื่องหมาย "แสดงการกระทำนี้เมื่อเวิร์กโฟลว์ทำงาน" หมายความว่าเวิร์กโฟลว์กำลังจะหยุดชั่วคราวแสดงตัวเลือกและช่วยให้คุณสามารถเปลี่ยนได้)

เมื่อคุณทำเช่นนั้น Automator จะปั่นและเผาไหม้และเมื่อเสร็จแล้วมันจะส่งเสียงบี๊บที่คุณ

น่าเสียดายที่ดูเหมือนจะไม่มีตัวเลือกให้เลือกคุณภาพ JPEG อย่างไรก็ตามสำหรับราคา (ฟรี) มันค่อนข้างสะดวก


อาจเป็นเทคนิคขั้นต่ำสำหรับคนที่ไม่ได้ใช้ Terminal และอาจเป็นวิธีที่ง่ายที่สุด แต่ไม่ใช่คำตอบที่ถูกที่สุดที่นี่ Sips นั้นรวมอยู่ใน Unix build ของ Mac และ ImageMagick ก็ฟรีเช่นกัน
markhunte

3
มันปลอดภัยที่จะสมมติว่า Automator เป็นไปตามวัตถุประสงค์ของการสนทนานี้ฟรีเนื่องจากมีเหตุผลที่จะสมมติว่า @mototribe กำลังเรียกใช้ OS X ข้อกังวลประการหนึ่งของฉันคือ Automator จะจัดการกับ 100,000 ภาพได้ดีแค่ไหน โฟลเดอร์เดียวฉันจะให้มันทีละโฟลเดอร์จนกว่ามันจะเสร็จ ฉันใช้กระบวนการทำงานนี้กับรูปภาพนับร้อยโดยไม่ยาก ฉันไม่เห็นเหตุผลว่าทำไมมันไม่ทำงานกับหลายพันคนเนื่องจากภาพแต่ละภาพผ่านหนึ่งครั้งต่อครั้ง แต่ฉันไว้วางใจ แต่ยืนยันโหมด
jaberg

Yep Automator ทำงานได้อย่างสมบูรณ์แบบ ฉันมาที่นี่โดยคิดว่า "ฉันพบอรรถประโยชน์บรรทัดคำสั่งที่จะปรับขนาดภาพเป็นชุด" ... บางครั้งโซลูชันที่ง่ายที่สุดก็ดีที่สุด ไชโย
Silouane Gerin

19

ฉันชอบใช้ ImageMagick sipsและ Automator (ซึ่งใช้วิธีการปรับขนาดที่เหมือนกัน) ทำให้ภาพดูเบลอเกินไปโดยไม่ทำให้ความคมชัดของภาพเพิ่มขึ้น

คุณสามารถติดตั้งกับ ImageMagick brew install imagemagickหลังจากติดตั้งHomebrewหรือsudo port install imagemagickหลังจากติดตั้งMacPorts จากนั้นเรียกใช้คำสั่งเช่นนี้:

mogrify -filter lanczos2 -resize '500x500>' -format jpg -quality 90 -path /tmp/ *.jpg

500x500>ทำให้รูปภาพกว้างขึ้นหรือสูงกว่า 500px ให้พอดีกับ 500x500px 500xจะเปลี่ยนความกว้างเป็น 500 px และ500x500^จะทำให้รูปภาพทั้งหมดอย่างน้อย 500x500px -path /tmp/บันทึกไฟล์ที่ส่งออกไป/tmp/แทนการแก้ไขไฟล์ในสถานที่

Lanczos2หรือ 2 กลีบLanczosCatromจะคล้ายกับ เมื่อเปรียบเทียบกับLanczos( Lanczos3) พวกมันจะคมน้อยลงเล็กน้อยสร้างสิ่งประดิษฐ์ที่มีเสียงกริ่งน้อยกว่าและสร้างรูปแบบMoiréมากขึ้น ตัวกรองเริ่มต้นสำหรับการทำให้รูปภาพเล็กลงคือTriangleซึ่งมักทำให้ภาพเบลอในความคิดของฉัน

-quality 100สร้างไฟล์เกี่ยวกับสองครั้งเป็นใหญ่ซึ่งจะสร้างไฟล์เกี่ยวกับใหญ่เป็นสองเท่า-quality 95-quality 88

ข้อมูลมากกว่านี้:

http://www.imagemagick.org/Usage/resize/
http://www.imagemagick.org/Usage/filter/
http://lri.me/shell1.txt

นี่คือคำสั่งที่คล้ายกันซึ่งใช้sips:

for f in *.jpg; do sips -Z 500 -s format jpeg -s formatOptions 80 "$f" /tmp/; done

-Z 500เหมือน500x500>ใน ImageMagick

หากคนอื่นมีน้อยกว่า 100,000 ภาพคุณอาจใช้ดูตัวอย่าง:

ดูตัวอย่างใช้ในการใช้วิธีการปรับขนาดเช่นเดียวกับsipsและ Automator แต่ใช้วิธีอื่นตั้งแต่ 10.7 ฉันชอบ ImageMagick Lanczos2มากกว่า

ฉันได้อัปโหลดเปรียบเทียบตัวเลือกที่แตกต่างกันเพื่อhttp://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.html


1
ฉันต้องการเตือนให้คุณใช้mogrify: สิ่งนี้จะแปลงไฟล์ในสถานที่เขียนทับไฟล์ต้นฉบับ! หากมีสิ่งใดผิดพลาดคุณสูญเสียไฟล์ของคุณ! ใช้งานได้ดีขึ้นconvert(เช่นจาก ImageMagick)
Kurt Pfeifle

1
@KurtPfeifle ไม่ได้หากคุณระบุ-pathตัวเลือก (ซึ่งconvertยังไม่มีในขณะนี้)
Lri

หากคุณกำลังเร่งความเร็วsipsบางทีอาจเป็นทางเลือกที่ดีกว่า จากการทดสอบอย่างรวดเร็วด้วย 1,000 JPGs á ~ 5 MB ปรับขนาดเป็นความกว้าง 800px ใช้เวลาประมาณ 1 นาที ด้วยsipsและ ~ 8 นาที กับmogrify(พร้อมการล้างบัฟเฟอร์ของดิสก์โดยใช้ GNU Parallel บน quadcore)
Stefan Schmidt

13

ImageMagickเป็นโปรแกรมอินเตอร์เฟสบรรทัดคำสั่งและสร้างขึ้นเพื่อจุดประสงค์นี้ การใช้งานและการติดตั้ง ImageMagick สามารถทำให้เกิดความหวาดกลัวได้ แต่แพ็คเกจการจัดการรูปภาพนี้เป็นโปรแกรมที่มีประสิทธิภาพที่สุดที่ฉันเคยพบมา การติดตั้งจากแหล่งที่สามารถรบกวนสำหรับผู้ใช้ OS X พื้นเมืองของผมแนะนำให้คุณใช้Homebrew

ในการติดตั้งImageMagickโดยใช้Homebrew ให้รัน oneliner นี้ในเทอร์มินัลของคุณ:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew ได้รับการติดตั้งแล้วควรทำตามคำแนะนำของผู้ติดตั้งหลังการติดตั้ง ตอนนี้เราติดตั้ง ImageMagick brewใช้

brew install imagemagick

ImageMagick ได้รับการติดตั้งแล้วและconvertสามารถใช้โปรแกรมได้ตามวัตถุประสงค์ของคุณ หากต้องการแปลงภาพ jpg ขนาดใหญ่เป็นภาพ PNG ที่เล็กกว่าคุณสามารถเรียกใช้ได้

convert input.jpg -geometry 800x600 output.png

เพื่อตอบคำถามของคุณ "วิธีปรับขนาดไฟล์ทั้งหมดในโฟลเดอร์และบันทึกในโฟลเดอร์อื่น" คุณสามารถเรียกใช้สคริปต์ต่อไปนี้

# create output dir
mkdir -p "../resized"

# Convert all .jpg files in the current folder
for image in *.jpg; do
    convert $x -geometry 800x600 resized/$x
done

ImageMagick สามารถแปลงรูปแบบภาพต่างๆกว่า 100 แบบและเทคนิคเกือบทั้งหมดที่คุณสามารถทำได้กับ Photoshop ที่คุณสามารถทำได้ด้วย ImageMagick


ขอบคุณนั่นคือสิ่งที่ฉันใช้ท้ายที่สุด - แต่ฉันติดตั้งลงบน Drupal ตั้งแต่ฉันนำเข้ารูปภาพไปยัง Drupal
uwe

@the_karel ฉันเพิ่งปรับปรุงโพสต์ก่อนหน้าของคุณ ฉันหวังว่าคุณจะไม่รังเกียจ
CousinCocaine

7

มีหลายคนพูดถึง ImageMagick นี่คือสูตร: เพื่อความง่ายสมมติว่าไฟล์ทั้งหมดอยู่ในโฟลเดอร์เดียว (และโฟลเดอร์ไม่มีอะไรอื่น) เปิดหน้าต่างเทอร์มินัลซีดีลงในโฟลเดอร์นี้จากนั้นเรียกใช้

mkdir ../resized
for x in *.jpg; do convert -geometry 800x600 $x ../resized/$x

โดยที่คุณเปลี่ยนขนาด 800x600 ตามขนาดที่คุณต้องการ

ข้อดีประกอบด้วยความยืดหยุ่นใน ImageMagick จำนวนมากconvertเช่นความสามารถในการเลือกการตั้งค่าคุณภาพที่แตกต่างกันสำหรับภาพเป้าหมายหรือการตั้งค่าตัวเลือกการปรับขนาดเป็นเปอร์เซ็นต์ หรือคุณสามารถใช้-geometry 800x800ในกรณีนี้อัตราส่วนภาพจะยังคงอยู่ แต่ความกว้างและความสูงสูงสุดจะเท่ากับ 800 พิกเซล

ข้อเสียคือสิ่งที่ชัดเจน: ต้องมีความคุ้นเคยกับบรรทัดคำสั่งรวมถึงความเต็มใจที่จะไถผ่านตัวเลือกบรรทัดคำสั่งconvertสำหรับการตั้งค่าที่คุณต้องการ นี่ไม่ใช่งานสำหรับคนที่ใจอ่อน


4

ผมสองGraphicConverter ฉันเป็นผู้ใช้ที่ลงทะเบียนเป็นเวลา 16 ปี วัตถุประสงค์หลักคือการแก้ไขภาพชุดประมวลผลและมีส่วนติดต่อผู้ใช้ที่ดีสำหรับการออกแบบเวิร์กโฟลว์ที่กำหนดเองและบันทึกไว้

คุณสามารถใช้ร่วมกับ Automator ได้ แต่คุณอาจไม่จำเป็นต้องใช้

นี่คือข้อมูลบางอย่างจากเป็นหน้า GraphicConverter ของการอธิบายชุดการประมวลผลภาพของพวกเขาฟังก์ชั่นการแก้ไข

การแปลงแบบกลุ่มพร้อมฟังก์ชันเพิ่มเติม

GraphicConverter นำเสนอการประมวลผลแบบกลุ่มที่ซับซ้อนซึ่งจะทำหน้าที่ซ้ำ ๆ โดยอัตโนมัติซึ่งนำไปใช้กับรูปภาพที่เลือก:

  • แปลงรูปภาพต้นฉบับทั้งหมดที่เลือกอย่างง่ายดายและรวดเร็วในรูปแบบใหม่โดยไม่คำนึงว่ามีไฟล์รูปภาพ 5 หรือ 5,000 ไฟล์ คุณเพียงแค่กำหนดประเภทของการแปลงและกำหนดรายละเอียด
  • ในระหว่างกระบวนการแปลงคุณสามารถใช้ฟังก์ชันแบทช์เพิ่มเติมได้ถึง 60 ฟังก์ชันเช่นการหมุนปรับขนาดเปลี่ยนความละเอียด ฯลฯ
  • ทำการลบ Macess Ressourcefork โดยอัตโนมัติก่อนที่จะอัปโหลดเอกสารหากมีปัญหาความเข้ากันได้เมื่อวางไฟล์รูปภาพในอินเทอร์เน็ต
  • สร้างแคตตาล็อกในรูปแบบ HTML เพื่อเผยแพร่ในอินเทอร์เน็ตและปรับสีขนาด ฯลฯ ตามความต้องการของคุณ (ดูตัวอย่าง)
  • เปลี่ยนชื่อการเลือกเอกสารตามเกณฑ์พิเศษอย่างรวดเร็วและง่ายดาย
  • เข้าร่วมรูปภาพด้วยกัน (เช่นสำหรับ QuickTime VR)
  • แทรกหรือแยกข้อมูล IPTC เข้าหรือออกในรูปแบบเอกสารที่หลากหลาย
  • และอีกมากมาย ...

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


4

นี่เป็นอีกสคริปต์ปรับขนาดภาพที่เรียบง่ายสะอาดและมีประสิทธิภาพ หากคุณกำลังจัดการกับกราฟิกและความละเอียดที่แตกต่างกันมากคุณสามารถใช้สคริปต์นี้และบันทึกด้วยค่าที่แตกต่างกันสำหรับการใช้งานเป็นครั้งคราว

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


เปิดตัวแก้ไขสคริปต์และสร้างสคริปต์ใหม่ต่อไปนี้:

-- save in Script Editor as Application
-- drag files to its icon in Finder

on open some_items
  repeat with this_item in some_items
    try
      rescale_and_save(this_item)
    end try
  end repeat
end open


to rescale_and_save(this_item)
  tell application "Image Events"
    launch
    set the target_width to 120
    -- open the image file
    set this_image to open this_item

    set typ to this_image's file type

    copy dimensions of this_image to {current_width, current_height}
    if current_width is greater than current_height then
      scale this_image to size target_width
    else
      -- figure out new height
      -- y2 = (y1 * x2) / x1
      set the new_height to (current_height * target_width) / current_width
      scale this_image to size new_height
    end if

    tell application "Finder" to set new_item to ¬
    (container of this_item as string) & "scaled." & (name of this_item)
    save this_image in new_item as typ

  end tell
end rescale_and_save

เดิมแหล่งที่มา


3

ตัวอย่างเป็นทางออกที่ดีสำหรับการปรับขนาดตามโอกาส นอกจากนี้ยังมีตัวเลือกฟรีอื่น ๆ ที่ดีเช่น ImageMagic (อรรถประโยชน์บรรทัดคำสั่ง), ดูตัวอย่างหรืออย่างอื่นรวมถึง Automator เป็นต้น

อย่างไรก็ตามหากนี่เป็นส่วนหนึ่งของงานของคุณและคุณต้องการความยืดหยุ่นที่แท้จริงแอปพลิเคชันที่มีวัตถุประสงค์พิเศษจะช่วยให้คุณประหยัดเวลาได้มากและมีโอกาสมากขึ้น ผู้ใช้หลายคนเลือกใช้ตัวปรับขนาดรูปภาพ Resize Sense ( http://veprit.com/resizesense ) ของเราสำหรับความยืดหยุ่นและความสะดวกสบายที่โดดเด่น

ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้พัฒนา คุณควรตัดสินปรับขนาดความรู้สึกด้วยตัวคุณเอง วิดีโอแนะนำในเว็บไซต์ผลิตภัณฑ์จะบอกคุณอย่างชัดเจนว่าอะไรพิเศษใน Resize Sense มีรุ่นสาธิตฟรี


2

กราฟิคคอนเวอร์เตอร์

สิ่งที่ดีที่สุดสำหรับสิ่งนี้ ..


7
คุณช่วยอธิบายได้ไหมว่าเหตุใด GC เป็นตัวเลือกที่ดีที่สุด
Nathan Greenstein

ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
daviesgeek

1

ฉันมักจะนำเข้ารูปภาพทั้งหมดลงใน iPhoto แล้วส่งออกไปยังขนาดต่าง ๆ ฉันทำมันด้วยภาพ 300 ภาพหรือมากกว่านั้น แต่ไม่ถึงระดับที่คุณต้องการ ถึงกระนั้นก็อาจเป็นตัวเลือก


1

ไม่มีใครพูดถึง Apple Aperture

ในขณะที่ไม่ถูกที่สุดมันมาพร้อมกับสิ่งอื่น ๆ อีกมากมายที่คุณอาจพบว่ามีประโยชน์ โดยพื้นฐานแล้วมันจะแทนที่ iPhoto และบางอัน มัน 95% ของสิ่งที่ช่างถ่ายภาพทั่วไปใช้ Photoshop สำหรับ (มันจะไม่เผาข้อความ :-)

แต่ถ้าคุณไม่ต้องการสิ่งอื่น ๆ ที่รูรับแสงให้คุณฉันจะใช้วิธี ImageMagick เป็นอันดับที่สองหากคุณไม่ได้ถูกข่มขู่ด้วยการดาวน์โหลดติดตั้งและใช้งานโปรแกรมบรรทัดคำสั่งและวิธีการใช้งานอัตโนมัติ .


-1

ฉันใช้ไวน์ (และXQuartz ) และIrfanView แน่นอนคุณสามารถใช้imagemagick ได้จากบรรทัดคำสั่ง สำหรับไวน์และ ImageMagick ฉันจะแนะนำHomebrew

irfanview ในไวน์บน OS X


ฉันใช้ Irfanview นานกว่า 10 ปีบนพีซีและรักมัน แต่พวกเขาไม่มีเวอร์ชั่น Mac เหรอ?
Uwe

1
ฉันสงสัยว่าพวกเขาหมายถึงพวกเขาเรียกใช้ IrFranView ภายใต้ไวน์ Wine ให้คุณเรียกใช้ซอฟต์แวร์ Windows บนระบบปฏิบัติการอื่น ด้วย Wine คุณสามารถติดตั้งและเรียกใช้แอปพลิเคชันเหล่านี้ได้เหมือนกับที่ทำใน Windows ภาพหน้าจอจะแสดงหน้าต่างประเภท Mac (ปุ่มด้านบน) อย่างชัดเจนด้วย PC Window GUI
markhunte

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