วิธีบีบอัดรูปภาพใน MATLAB
หากคุณต้องการบีบอัดรูปภาพใน MATLAB วิธีที่ใช้งานได้จริงที่สุดคือการอ่านรูปภาพ ปรับขนาดตามต้องการ จากนั้นบันทึกด้วยการตั้งค่าการบีบอัด เช่น คุณภาพ JPEG 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
ผู้เชี่ยวชาญด้านการเขียนด้วย AI
เจเน็ตตรวจสอบเครื่องมือตรวจจับ AI และเครื่องมือปรับปรุงข้อความ AI ให้เป็นธรรมชาติ โดยเน้นที่ความแม่นยำ ข้อจำกัด และการใช้งานอย่างมีความรับผิดชอบ ดูบทความทั้งหมด →


