ฉันจะบีบอัดภาพได้อย่างไร?


25

ฉันมี 5,000 ภาพที่ฉันต้องการบีบอัด (เพื่อแสดงบนเว็บไซต์ของฉัน)

ฉันใหม่สำหรับ Ubuntu แล้วฉันจะทำยังไงดี?



@MostafaAhangarha: ไม่ซ้ำกัน โปรดอ่านคำตอบของฉันaskubuntu.com/a/781588/9598และพิจารณาการลงคะแนนของคุณอีกครั้งเพื่อไม่ให้ปิดคำถามนี้ มันเป็นสิ่งที่ดี ขอขอบคุณ!
Geppettvs D'Constanzo

คำตอบ:


21

ฉันใช้Trimageสุดง่ายต่อการใช้

เพียงเพิ่มรูปภาพและบีบอัดเพื่อติดตั้ง:

sudo apt-get install trimage

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


2
ฉันไม่เห็นการตั้งค่าใด ๆ ที่ฉันสามารถกำหนดได้ว่าฉันต้องการบีบอัดขนาดไฟล์ ฯลฯ อย่างไร
Rico

46

คำว่า "การบีบอัด" ดูเหมือนจะตีความผิดในคำถามนี้ แต่ก็ยังถูกต้องขึ้นอยู่กับบริบทที่คุณต้องการดู

ทิวทัศน์

มาพบกับนักออกแบบเว็บนักพัฒนาเว็บและ / หรือผู้เชี่ยวชาญด้านเว็บที่จำเป็นต้อง "บีบอัด" ไฟล์ภาพของเราเพื่อให้มีน้ำหนักเบาพอที่จะอัปโหลดไปยังโฮสติ้งของเราได้อย่างรวดเร็วหากเราทำงานโดยตรงในสภาพแวดล้อมการผลิตจริง ซึ่งจะไม่ส่งผลกระทบหากเราทำงานในสภาพแวดล้อมการผลิตทดสอบในท้องถิ่น

คำตอบหลายคำตอบดูเหมือนจะอ้างถึงสิ่งอื่น ๆ ซึ่งส่วนใหญ่เกิดจาก - อาจเป็นไปได้ - พวกเขาไม่ได้เผชิญกับทิวทัศน์ดังกล่าว นั่นเป็นเหตุผลที่ฉันเริ่มอธิบายเรื่องนี้

ดังนั้น. มาทำความเข้าใจกับสิ่งที่คำตอบต้องแก้:

  1. รูปภาพต้องมีน้ำหนักเบา
  2. รูปภาพจะต้อง "บีบอัด" เพื่อลดขนาดไฟล์ แต่ไม่ต้อง "rezised" ตามที่ผู้ใช้รายอื่นอ้างถึงซึ่งซ้ำกับคำถามนี้การบีบอัดแบทช์ JPG และเปลี่ยนชื่อ (ค้นหา -exec, xargs, piping?)
  3. รูปภาพควรถูกบีบอัดเป็นกลุ่มโดยควรผ่าน GUI

รูปภาพน้ำหนักเบา

ก่อนอื่นเรามาทำความเข้าใจว่า "ภาพที่มีน้ำหนักเบา" ควรเป็นอย่างไร

รูปภาพความละเอียดสูงที่มีความละเอียดมากกว่า 1024px อาจมีขนาดไฟล์ใหญ่ ฉันให้ตัวอย่างในภาพหน้าจอนี้:

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

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

ในหน้าต่างคุณสมบัติไฟล์เราจะเห็นว่านี่เป็นไฟล์ขนาด 9.5 MB ซึ่งจะล่าช้ามากในการอัปโหลดและจะล่าช้ามากเพื่อแสดงผลบนหน้าจอเมื่อเผยแพร่ในเว็บไซต์

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

ดังนั้นฉันจะใช้รูปภาพนี้ในเว็บไซต์ได้อย่างไรโดยไม่ต้องรอหลายปีเพื่ออัปโหลดและรออีกหลายปีเพื่อแสดงในเว็บไซต์ของฉัน

ไฟล์ควรถูกบีบอัด

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

ดังนั้นให้วางถัดไปใน terminal:

convert seminario-tabloide.png test.jpg

สิ่งนี้จะแปลงรูปแบบ PNG ที่มีความคมชัดสูงเป็นรูปแบบ JPG ที่ "ถูกบีบอัด" ซึ่งตัวไฟล์เองจะเล็กกว่า! มันเปลี่ยนจาก 9.5 MB เป็น 2.4 MB

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

ยังใหญ่อยู่เหรอ?

แต่ 2.4 MB นั้นเป็นไฟล์ขนาดใหญ่ ตอนนี้มาเล่นกับImageMagick ที่ แปลงคำสั่งเพื่อสร้างขนาดไฟล์ที่เล็กลง:

convert test.jpg -quality 50% test-50p.jpg

นี่คือสิ่งที่เราต้องทำเพื่อ "บีบอัด" ภาพ สิ่งนี้จะลดคุณภาพของภาพลง 50% และส่งมอบขนาดไฟล์ 938.4 KB <=== (หมายเหตุ: KILOBYTES ไม่ได้เป็นไฟล์ขนาดเมกะไบต์)

เราสามารถไปต่อและสร้างไฟล์ขนาดเล็กลงโดยการปรับเปอร์เซ็นต์ในคำสั่งเดียวกันผ่าน:

convert test.jpg -quality 30% test-30p.jpg

โปรดทราบว่าในตัวอย่างนี้เรากำลังลดคุณภาพของไฟล์ไม่ใช่ขนาดภาพ ซึ่งจะส่งผลให้ไฟล์บีบอัดที่ไม่ได้รับผลกระทบทางสายตาเมื่อแสดงผลบนหน้าจอ แต่คุณจะเห็นสิ่งประดิษฐ์เมื่อพิมพ์ด้วยกระดาษขนาดใหญ่ (ใหญ่กว่าตัวอักษร)

การปรับขนาด + การบีบอัด = เด็ดสุด ๆ !

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

ดังนั้นทำสิ่งนี้:

convert seminario-tabloide.png -resize 1024x test-1024x.jpg

ด้วยคำแนะนำนี้เราจะขอให้ปรับขนาดรูปภาพให้กว้าง 1024 พิกเซลด้วยจำนวนพิกเซลที่ต้องการเพื่อไม่ให้สูญเสียสัดส่วนภาพ

ทีนี้ ... เดาอะไรนะ?

ขนาดไฟล์ลดลงจาก 9.5 MB เป็น ... (เพลงโปรดด้วย congas โปรด) 433.7 KILOBYTES

หากเราต้องการบีบอัดไฟล์สูงสุดที่บีบอัดได้สูงสุดเช่นนี้เราจะเผชิญกับข้อมูลโอเวอร์เฮดที่ใส่เข้าไปในไฟล์และมันจะทำให้ไฟล์มีขนาดใหญ่ขึ้น ดังนั้นฉันจะไม่แนะนำให้คุณลอง แต่ถ้าคุณคาดหวังให้ฉันทำตัวอย่างตกลง ... ไปเลย!

convert test-1024x.jpg -quality 50% test-1024x-50p.jpg

และเราเปลี่ยนจาก 433.7 KB เป็น 176.2 KBในคำสั่งเดียว ตัวอย่างนี้สำเร็จแล้ว แต่อย่าคาดหวังว่าแบบฝึกหัดใด ๆ ที่จะทำให้ไฟล์มีขนาดเล็กลง แต่คุณสามารถมีความสนุกสนานมากมายเมื่อใช้แบบฝึกหัดนี้

กระบวนการแบทช์

Oh! แต่ฉันเกือบลืมความต้องการอย่างใดอย่างหนึ่ง: เมื่อต้องการใช้กระบวนการนี้กับรูปภาพจำนวนมากอย่างง่ายดาย

สำหรับสิ่งนั้นเราสามารถทำได้ด้วยสองกระบวนการ

อาคารผู้โดยสาร

สิ่งนี้เร็วกว่าและง่ายกว่า งั้นบอกเทอร์มินัลว่าเราต้องใช้คำสั่งเดียวกันในไฟล์ทั้งหมดในไดเรกทอรีหลังจากนั้นฉันจะอธิบายคำสั่งอื่น ๆ

แปลงทั้งหมดเป็น 1024px (คุณสามารถใช้จำนวนพิกเซลใดก็ได้)

for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;

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

ลดคุณภาพเป็นเปอร์เซ็นต์ (ใช้เปอร์เซ็นต์ใด ๆ ที่คุณต้องการ) ให้กับรูปภาพทั้งหมดในไดเรกทอรี:

for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;

ที่นี่เราขอให้รูปภาพที่ถูกย่อขนาดลดคุณภาพเพื่อทำให้ขนาดไฟล์เล็กลง

คุณสามารถเล่นกับคำสั่งเหล่านี้และดูผลลัพธ์ของคุณ หลังจากสองสามชั่วโมงมีความสนุกสนานคุณจะเป็นผู้เชี่ยวชาญ

สคริปต์ Nautilus

เมื่อวันที่ 20 เมษายน 2558 ฉันต้องเผชิญกับสถานการณ์เช่นนี้เป็นคำถามดั้งเดิมดังนั้นฉันจึงต้องทำการวิจัยและขอความช่วยเหลือเกี่ยวกับคำถาม นั่นเป็นเหตุผลที่ตอนนี้ฉันรู้เรื่องนี้มากมาย อย่าคิดว่าฉันเกิดมาพร้อมกับความรู้นี้

หากคุณไม่คุ้นเคยกับเทอร์มินัลและ / หรือต้องการใช้ GUI เพื่อเลือกกลุ่มไฟล์และใช้การแปลงคุณสามารถสร้าง Nautilus Actions Script ของคุณเองเพื่อคลิกขวาที่กลุ่มของไฟล์และเลือก ตัวเลือกจากเมนูบริบท

สำหรับคำแนะนำเกี่ยวกับวิธีการทำสิ่งดังกล่าวโปรดอ่านทั้งคำถามคำตอบและความคิดเห็นที่นี่: วิธีการประมวลผลภาพ JPG เป็นชุดเพื่อเปลี่ยนคุณภาพด้วย Nautilus-Actions

โชคดี!


1
นี่คือคำตอบ "สอนให้ฉันตกปลา" convertทักษะบรรทัดคำสั่งของImageMagick นั้นยอดเยี่ยมมาก
Charney Kaye

แข็ง! ฉันใช้โปรแกรมแก้ไขข้อความ Sublime Textในโหมดมัลติเคอร์เซอร์เพื่อเปลี่ยนคำสั่งจำนวนมากในคราวเดียวสำหรับการบีบอัด "แบตช์" ของรูปภาพจำนวนมาก ฉันเพิ่งใช้convert photo.jpg -quality 70% photo_compressed.jpgรูปแบบคำสั่งและใช้งานได้ดี! แม้แต่การตั้งค่าการบีบอัดให้เหลือเพียง 70% ของคุณภาพดั้งเดิมก็ลดขนาดภาพลงเหลือ ~ 37% ของต้นฉบับเนื่องจากเอฟเฟกต์จะขยายใหญ่ขึ้นโดยอยู่บนแกน x และ y
Gabriel Staples

คำอธิบายที่ยอดเยี่ยมเกี่ยวกับแนวคิดที่เข้าใจผิดบ่อยครั้ง เพื่อความสมบูรณ์ให้ฉันเพิ่มสิ่งนั้นสำหรับการประมวลผลแบบแบทช์คุณยังสามารถใช้ความยุ่งเหยิงของ ImageMagick ได้มากกว่าการแปลงไฟล์ที่ฉันสร้างโฟลเดอร์เพื่อเก็บผลลัพธ์ไว้ ตัวอย่างเช่นmogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Dennis

0

หากคุณอ้างถึงรูปภาพ jpeg การบีบอัดข้อมูลโดยพฤตินัยนั้นเป็นไปไม่ได้ เนื่องจาก jpeg เป็นคำจำกัดความรูปแบบไฟล์บีบอัด (เสียงรบกวนและพิกเซลไร้ประโยชน์ทั้งหมดจะถูกลบออกไปแล้ว) คุณสามารถซิปได้เลย แต่ขนาดโดยรวมจะยังคงเท่าเดิม อัลกอริทึมการบีบอัดขั้นสูงเดียวที่ฉันรู้จักสำหรับ jpegs คือ zipx แต่ zipx นั้นเป็นกรรมสิทธิ์ของ Winzip และทำให้มั่นใจได้สูงสุด ขนาดลดลง 30% (ในโหมดไฟล์เก็บถาวร zipx)

หากต้องการแสดงภาพของคุณบนเว็บก่อนอื่นคุณควรปรับขนาดภาพ (ต่ำกว่า 1MB ต่อภาพ) และแปลงเป็นรูปแบบไฟล์ png PNG (= กราฟิกเครือข่ายพกพา) ได้รับการปรับแต่งเป็นพิเศษเพื่อการถ่ายโอนเว็บที่เร็วขึ้นและแสดงได้เร็วขึ้น ผู้ใช้ขั้นสูงอาจแปลงรูปภาพเหล่านั้นเป็นรูปแบบ webp (รูปแบบของ Google สำหรับรูปภาพขั้นตอนวิธีการโหลดที่เร็วที่สุด)

คุณแบทช์สามารถแปลงรูปภาพด้วย XnConvert จากนั้นแบทช์ปรับขนาดรูปภาพของคุณด้วย XnView ดาวน์โหลดแพคเกจ deb จากที่นี่: http://www.xnview.com/de/xnviewmp/#downloadsจากนั้นคลิกขวาบนแล้วเปิดด้วย Gnome Software

หากคุณไม่สนใจความเร็วในการโหลดเครือข่าย แต่ต้องใส่ใจกับคุณภาพคุณควรเก็บภาพของคุณไว้โดยไม่ถูกแตะต้องและสร้างห้องสมุดดิจิทัลสำหรับพวกเขา อาจอัปโหลดไปยังเซิร์ฟเวอร์สาธารณะ (Yahoo, Google, ฯลฯ )


3
คุณอาจต้องการพูดถึงตัวเลือกต่าง ๆ สำหรับการบีบอัด / คุณภาพ jpeg; เป็นไปได้ทีเดียวที่จะลดขนาดไฟล์ของอิมเมจ jpeg โดยเพิ่มการบีบอัด (และลดคุณภาพของมัน)
Nick Weinberg

1
ความเข้าใจในการบีบอัดหมายถึงการกำจัดพิกเซลที่ไม่จำเป็นขณะที่ยังคงคุณภาพไว้เหมือนเดิม การลดคุณภาพไม่ใช่การบีบอัดเป็นเพียงการลดขนาดหรือลดตัวอย่างลง การบีบอัดแบบไม่บีบอัดทำได้โดยใช้รูปแบบ zipx ซึ่งใช้งานได้ดีกับภาพถ่ายต่อเนื่อง มันสร้างกองซ้อนทับของภาพถ่ายที่คล้ายกันซึ่งมีการซ้อนทับ / โอเวอร์แท็คจำนวนมากซึ่งพิกเซลคู่ทั้งหมดจะถูกแบนบนเลเยอร์แยกต่างหากสิ่งที่คล้ายกับไฟล์. css ในเว็บเพจ พิกเซลการทำซ้ำถูกกำหนดเป็นเอนทิตีแยกต่างหากภายในการเก็บถาวร
ipse lute
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.