วิธีบีบอัดรูปภาพใน MATLAB

Janet L. HarrisJanet L. Harris·อัปเดต: October 9, 2026·อ่าน 2 นาที

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

How to Compress an Image in MATLAB

คำตอบด่วน

ใช้ imread เพื่อโหลดรูปภาพ และ imwrite เพื่อบันทึกสำเนาที่บีบอัด สำหรับเอาต์พุต JPEG พารามิเตอร์ Quality ของ MATLAB ใช้ค่าตั้งแต่ 0 ถึง 100 ค่าที่ต่ำกว่าจะสร้างการบีบอัดที่แรงกว่าและไฟล์มีขนาดเล็กลง ในขณะที่ค่าที่สูงกว่าจะรักษารายละเอียดภาพได้มากขึ้น

img = imread("input.jpg");
imwrite(img, "compressed.jpg", "jpg", "Quality", 70);

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

วิธีที่ 1: บีบอัด JPEG ด้วยคุณภาพ imwrite

JPEG เป็นรูปแบบที่ง่ายที่สุดสำหรับการลดขนาดไฟล์ เนื่องจากรองรับการบีบอัดแบบสูญเสียข้อมูล (lossy compression)

img = imread("photo.jpg");
imwrite(img, "photo-compressed.jpg", "jpg", "Quality", 65);

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

วิธีที่ 2: ปรับขนาดก่อนบันทึก

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

img = imread("photo.jpg");
smaller = imresize(img, 0.5);
imwrite(smaller, "photo-small.jpg", "jpg", "Quality", 75);

วิธีนี้ช่วยให้รูปภาพยังคงอ่านได้ ในขณะที่ลดจำนวนพิกเซลที่ MATLAB ต้องจัดเก็บ

วิธีที่ 3: ตรวจสอบขนาดไฟล์หลังการบีบอัด

อย่าคาดเดาว่ารูปภาพมีขนาดเล็กพอหรือไม่ ตรวจสอบขนาดไฟล์เอาต์พุต

info = dir("photo-compressed.jpg");
sizeKB = info.bytes / 1024;
fprintf("Compressed size: %.1f KB\n", sizeKB);

หากไฟล์ยังคงมีขนาดใหญ่เกินไป ให้ลดค่าคุณภาพลงเล็กน้อย หรือปรับขนาดรูปภาพเพิ่มขึ้นอีกเล็กน้อย

วิธีที่ 4: บีบอัดรูปภาพหลายไฟล์ในโฟลเดอร์

สำหรับชุดข้อมูลหรือโฟลเดอร์งาน ให้วนลูปผ่านรูปภาพและบันทึกสำเนาที่บีบอัด

files = dir("*.jpg");

for k = 1:length(files)
    img = imread(files(k).name);
    outputName = "compressed_" + files(k).name;
    imwrite(img, outputName, "jpg", "Quality", 70);
end

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

คำอธิบายการตั้งค่าคุณภาพ JPEG

ค่า Quality ควบคุมความสมดุลระหว่างขนาดไฟล์และความคมชัดของภาพ:

ค่าคุณภาพผลลัพธ์ทั่วไป
90-100ไฟล์ขนาดใหญ่ คุณภาพภาพสูง
70-85การบีบอัดที่สมดุลสำหรับภาพถ่าย
50-70ไฟล์ขนาดเล็กพร้อมสิ่งแปลกปลอมที่อาจเกิดขึ้น
ต่ำกว่า 50การบีบอัดที่รุนแรง มักจะเห็นความเสื่อมโทรมของภาพ

สำหรับเอกสาร ภาพหน้าจอ แผนภาพ และรูปภาพที่มีข้อความขนาดเล็ก ควรหลีกเลี่ยงการบีบอัดที่รุนแรงเกินไป

เคล็ดลับการบีบอัดใน MATLAB

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

คำถามที่พบบ่อย

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

โหลดรูปภาพด้วย imread จากนั้นบันทึกด้วย imwrite สำหรับ JPEG ให้ใช้พารามิเตอร์ Quality เพื่อควบคุมการบีบอัด

JPEG Quality ใน MATLAB หมายถึงอะไร?

เป็นการตั้งค่า 0-100 ค่าที่ต่ำกว่ามักจะสร้างไฟล์ขนาดเล็กกว่าและมีคุณภาพภาพต่ำกว่า ค่าที่สูงกว่าจะรักษารายละเอียดได้มากขึ้นแต่สร้างไฟล์ขนาดใหญ่กว่า

MATLAB สามารถบีบอัดรูปภาพ PNG ได้หรือไม่?

ได้ แต่การบีบอัด PNG ทำงานแตกต่างจาก JPEG สำหรับภาพถ่าย การแปลงเป็น JPEG มักจะลดขนาดไฟล์ได้มากกว่า สำหรับภาพหน้าจอหรือแผนภาพ PNG อาจรักษารายละเอียดขอบได้คมชัดกว่า

ฉันจะบีบอัดรูปภาพหลายไฟล์พร้อมกันได้อย่างไร?

ใช้ dir เพื่อแสดงรายการไฟล์ วนลูปผ่านไฟล์เหล่านั้น และบันทึกสำเนาที่บีบอัดด้วย imwrite

การตรวจสอบขั้นสุดท้าย

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

Janet L. Harris

เขียนโดย Janet L. Harris

ผู้เชี่ยวชาญด้านการเขียนด้วย AI

เจเน็ตตรวจสอบเครื่องมือตรวจจับ AI และเครื่องมือปรับปรุงข้อความ AI ให้เป็นธรรมชาติ โดยเน้นที่ความแม่นยำ ข้อจำกัด และการใช้งานอย่างมีความรับผิดชอบ ดูบทความทั้งหมด →