فشرده سازی تصویر بدون افت کیفیت با استفاده از متلب

فشرده سازی تصویر بدون افت کیفیت با استفاده از متلب

متلب یک ابزار بسیار قدرتمند جهت کم حجم سازی تصاویر و سیگنال ها برای نرم افزارهای توسعه دهنده می باشد. یکی از این نرم افزارهایی که با یک رابط کاربری گرافیکی به کم حجم سازی تصویر با استفاده متلب می پردازد در این مقاله بررسی شده است.
امروزه به منظور افزایش کیفیت عکس ها، دوربین ها با تعداد روزافزون مگاپیکسل تولید می شوند. همانطور که می دانید با افزایش کیفیت تصویر، سایز فایل آن نیز افزایش می یابد. به علت محدودیت های سرعت اینترنت، آپلود تصاویر با کیفیت نیازمند زمان بیشتری است. هر کاربری نیاز دارد تا تصاویر را بدون افت شدید کیفیت کم حجم کند. همچنین، تولیدکنندگان گوشی های موبایل نیازمند الگوریتم هایی در دوربین دستگاه هستند که امکان ذخیره تصاویر با حجم کمتر و بدون کاهش کیفیت را برای آن ها فراهم کند.

فلوچارت فرایند کم حجم سازی
شکل 1. فلوچارت فرایند کم حجم سازی

پیشنهاد میکنم مقاله "معرفی بهترین کتاب های آموزش متلب" مطالعه کنید.

دونوع الگوریتم کم حجم سازی وجود دارد:

  1. کم حجم سازی با اتلاف
  2. کم حجم سازی بدون اتلاف

این مقاله تکنیکی را برای کم حجم سازی پیشنهاد می کند که حجم عکس را با حفظ کیفیت آن کم می کند. صحت سنجی الگوریتم پیشنهادی با چند عکس متفاوت انجام شده است.

عکس اصلی شماره 1
شکل 2. عکس اصلی شماره 1

در این مقاله از الگوریتم تبدیل کسینوسی گسترده (discrete cosine transform) ، که با نسبت مطلوبی کم حجم سازی را انجام می دهد، استفاده شده است.
فلوچارت فرایند در تصویر 1 نشان داده شده است.
عکس اصلی به عنوان ورودی به متلب داده می شود تا پیکسل های آن دریافت شوند. بعد از دریافت تصویر، حداکثر نسبت سیگنال به نویز (PSNR) و خطای میانگین مربعات (MSE) با روابط زیر محاسبه می شوند:

lossless image compression using matlab 3

m و n به ترتیب تعداد سطر و ستون می باشند. Image1 و Image2 به ترتیب عکس اصلی و عکس کم حجم شده می باشند.

کم حجم سازی عکس شماره 1
شکل 3. کم حجم سازی عکس شماره 1

پیشنهاد میکنم مقاله "20 ایده برتر برای پروژه متلب" مطالعه کنید.

بعد از انجام عملیات کم حجم سازی، نباید تغییرات در کیفیت عکس محسوس باشند. MSE خطای میان تصویر اصلی و کم حجم شده را نشان می دهد و این عدد باید تا جای ممکن کم باشد.
R را بیشترین تغییرات در نوع داده تصویر ورودی (یا بیشترین مقدار پیکسل ممکن در عکس) در نظر می گیریم. PSNR به MSE وابسته است و نشان دهنده میزان نویز در تصویر کم حجم شده است. PSNR باید بیشترین مقدار ممکن باشد.

lossless image compression using matlab 5

نکته 1: تمامی معادلات در متلب به فرم تابع اجرا شده اند.

عکس اصلی شماره 2
شکل 4. عکس اصلی شماره 2
کم حجم سازی عکس شماره 2
شکل 5. کم حجم سازی عکس شماره 2

نکته 2: تعدادی از تصاویر و رابط کاربری گرافیکی مربوط به آن ها در تصاویر 2 تا 5 نمایش داده شده اند.

برای دانلود منبع کد برای فشرده سازی تصویر بدون افت کیفیت با استفاده از متلب، اینجا کلیک کنید

نگین اکرمی
نگین اکرمی
دانشجوی مهندسی شیمی، دبیر انجمن علمی مهندسی شیمی دانشگاه صنعتی اصفهان، عضو اتحادیه مهندسی شیمی، نفت و پلیمر و مترجم و مدرس زبان انگلیسی هستم

پروژه ای برای انجام داری؟

تخصص انجام پروژه داری؟

دیدگاه خود را بیان کنید

1000 کاراکتر باقیمانده است