ฉันจะเปิดภาพขนาดใหญ่มาก ๆ เพื่อลดขนาดได้อย่างไร


14

ฉันมีภาพที่มีความละเอียด 18984x28591px แต่ฉันไม่สามารถเปิดด้วย Paint หรือด้วย Pixlr Editor เพื่อลดขนาดของมัน

ฉันจะแปลงหรือเปิดภาพขนาดใหญ่นี้บนแล็ปท็อปของฉันได้อย่างไร

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

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


4
ไม่ใช่ DPI ที่เป็นปัญหา แต่เป็นมิติของไฟล์ ควรมากกว่า 1.5 GByte! เป็นอย่างนั้นเหรอ?
TFuto

ขนาดของภาพคือ 31.3 MB (32,846,155 bytes)
Educ

2
ขออภัยไม่ใช่ขนาดของไฟล์ ขนาดใน RAM หากคุณถอดรหัสเป็นการแสดงปกติต้องใช้ 18984x28591x3 ไบต์ ~ = 1.5 GByte คุณจะต้องเปิด RAM นี้เป็นอย่างน้อย และอาจเป็นอีก 1 Gbyte สำหรับจัดการมัน และ 1 GByte สำหรับระบบปฏิบัติการ อะไรแบบนั้น.
TFuto

มันเป็นภาพส่วนตัวของฉันฉันจะสามารถส่งให้คุณโดยไดรฟ์ Google เพื่อลดขนาดว่าถ้าเป็นไปได้และขอบคุณล่วงหน้า
Educ

2
ใช่ฉันสามารถลอง :-) คุณสามารถลองใช้ตัวแปลงชุดของ IrfanView ซึ่งอาจช่วยได้
TFuto

คำตอบ:


29

ฉันใช้ ImageMagick บน Ubuntu เพื่อปรับขนาดภาพใหญ่เหล่านั้น

convert -resize 10% source.jpg dest.jpg

มันใช้เวลาสักครู่ แต่ทำงานกับ RAM ขนาด 1 GByte เครื่องมือนี้สร้างไฟล์ swap-like 4.7 Gbyte สำหรับตัวมันเอง

ข้อมูลเพิ่มเติมเกี่ยวกับAskUbuntu


3
คุณสามารถให้ความละเอียดที่เฉพาะเจาะจงเช่นconvert -resize 1898x2859 ...
Michael Hampton

2
ยังมีอยู่ใน OSX
o0 '

1
นอกจากนี้ยังมีรุ่น Windows
Tonny

9

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

เริ่มต้น JPEG ถอดรหัสเครื่องมือ (บรรทัดคำสั่งแพคเกจ libjpeg-progs ใน Linux มองหา djpeg.exe สำหรับ Windows) จะ downscale JPEG ขนาดใหญ่ก่อนที่จะเป็นโปรแกรม "ปกติ" ยังสามารถโหลดเสร็จมัน

djpeg -scale 1/8 huge_image_that_will_not_fit_in_your_ram.jpg >downscaled.ppm

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

เกณฑ์มาตรฐาน!

การเปรียบเทียบการใช้หน่วยความจำและเวลาในการประมวลผลของImageMagick vs djpeg การลดขนาดภาพใหญ่ (piping to cjpegดังนั้นภาพที่ได้จึงเป็น jpg เพื่อการเปรียบเทียบที่เหมาะสมกับการแปลง )

$ display -verbose input.jpg 
input.jpg JPEG 13114x11722 13114x11722+0+0 8-bit sRGB 30.75MB 6.690u 0:06.699

$ /usr/bin/time -f "time=%E mem=%MK" bash -c "convert input.jpg -scale '12.5%' output.jpg"
time=0:10.72 mem=1225844K

$ /usr/bin/time -f "time=%E mem=%MK" bash -c "djpeg -scale 1/8 input.jpg | cjpeg > output2.jpg"
time=0:00.88 mem=1412K

1,2GB เทียบกับ 1,4MBและช้ากว่า 10 เท่า - และนี่เป็นภาพขนาดเล็ก 13k x 11k ที่สามารถใส่ในแรมได้อย่างสมบูรณ์ดังนั้นจึงไม่มีการสลับสับเปลี่ยน

ในทางกลับกันการใช้ djpeg สำหรับการลดขนาดยังมีข้อ จำกัด ของตัวเอง: ตัวเลือกตัวประกอบสัดส่วนถูก จำกัด และวิธีการ resampling ไม่สามารถเปลี่ยนแปลงได้


7

คุณสามารถลองใช้Picture Resizerบน Windows (ฉันชอบเครื่องมือนี้)

คุณเพียงแค่ลากและวางรูปภาพใน EXE แบบง่าย ๆ นี้มันมีประโยชน์อย่างยิ่งหากคุณมีรูปภาพจำนวนมากที่จะแปลงตามที่คุณสามารถทำได้หลายรายการในแต่ละครั้ง

การตั้งค่าทั้งหมดทำได้ผ่านการตั้งชื่อ EXE ซึ่งเป็น IMO ที่ยอดเยี่ยม

ฉันไม่เคยลองด้วยไฟล์ขนาดใหญ่

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