فرمت های مجاز تصویر در متلب
فرمت های مجاز تصویر در متلب
فرمت های مجاز تصویر در متلب
در پردازش تصویر با متلب، پشتیبانی از فرمتهای مختلف تصویر نقش کلیدی در خواندن، پردازش، و نمایش تصاویر دارد. متلب با تابع imread امکان خواندن طیف گستردهای از فرمتهای استاندارد تصویر را فراهم میکند. انتخاب فرمت مناسب میتواند بر کیفیت، حجم فایل، و نوع پردازش تأثیر بگذارد. این مقاله فرمتهای پشتیبانیشده، نحوه خواندن و نمایش تصاویر (از جمله تصاویر ایندکسشده)، و تکنیکهای نمایش چندگانه را بررسی میکند.
فرمتهای پشتیبانیشده در متلب
متلب از فرمتهای زیر برای خواندن و نوشتن تصاویر پشتیبانی میکند:
- BMP (Microsoft Windows Bitmap): فرمت بدون فشردهسازی، مناسب برای تصاویر با کیفیت بالا اما حجم زیاد.
- GIF (Graphics Interchange Format): مناسب برای تصاویر با تعداد رنگ محدود (تا 256 رنگ)، پرکاربرد در انیمیشنهای ساده.
- HDF (Hierarchical Data Format): برای دادههای علمی پیچیده، مانند تصاویر چندبعدی در پژوهشهای پزشکی.
- JPEG (Joint Photographic Experts Group): فرمت فشرده با کیفیت خوب، پرکاربرد در عکاسی و وب.
- PCX (Paintbrush): فرمت قدیمیتر، کمتر استفادهشده در کاربردهای مدرن.
- PNG (Portable Network Graphics): فرمت بدون افت کیفیت با پشتیبانی از شفافیت، پرکاربرد در وب و پردازش تصویر.
- TIFF (Tagged Image File Format): فرمت انعطافپذیر با پشتیبانی از لایهها و دادههای اضافی، پرکاربرد در تصاویر پزشکی و چاپ.
- XWD (X Window Dump): فرمت خاص برای سیستمهای X Window، کمتر استفادهشده.
نکته: فرمتهای JPEG و PNG به دلیل تعادل بین کیفیت و حجم فایل، در اکثر کاربردهای پردازش تصویر رایجتر هستند.
خواندن تصاویر در متلب
تابع imread ابزار اصلی برای خواندن تصاویر در متلب است و از تمامی فرمتهای بالا پشتیبانی میکند. این تابع میتواند تصاویر را بهصورت ماتریسهای RGB، خاکستری (Grayscale)، یا ایندکسشده (Indexed) بارگیری کند.
تصاویر ایندکسشده
تصاویر ایندکسشده (مانند برخی تصاویر پزشکی یا علمی) از یک ماتریس داده و یک نقشه رنگ (Colormap) تشکیل شدهاند. نقشه رنگ اطلاعاتی درباره رنگ یا شدت پیکسلها ارائه میدهد. برای خواندن این تصاویر، imread میتواند نقشه رنگ و شفافیت (در صورت وجود) را جداگانه استخراج کند:
[A,map,transparency] = imread(filename,fmt)
%% example
[X,cmap] = imread('corn.tif');
imshow(X,cmap)
نکته: ذخیره نقشه رنگ در متغیر جداگانه از خطاهای نمایش جلوگیری میکند، بهویژه در تصاویر پزشکی که نقشه رنگ برای تفسیر دقیق ضروری است.

خواندن تصاویر از URL
متلب امکان خواندن تصاویر مستقیماً از آدرسهای اینترنتی (URL) را فراهم میکند. کافی است آدرس URL بهجای نام فایل در imread وارد شود:
I = imread('https://example.com/image.jpg');
نمایش تصاویر در متلب
برای نمایش تصاویر، تابع imshow پرکاربرد است و از انواع تصاویر (RGB، خاکستری، باینری، یا ایندکسشده) پشتیبانی میکند:
imshow(image_RGB/BW/GRAY)
imshow(image_indexed,map)
نمایش چندین تصویر
برای نمایش چندین تصویر در یک فیگور، دو تابع اصلی وجود دارد:
subplot: تصاویر را در یک شبکه با فاصله مشخص نمایش میدهد.
subplot(a, b, i); imshow(image_i);
montage: تصاویر را بدون فاصله کنار هم قرار میدهد، که در تصاویر پزشکی رایجتر است.
montage({img_1, img_2, ..., img_n});
تفاوت: subplot فاصلههای مشخصی بین تصاویر ایجاد میکند، در حالی که montage تصاویر را بهصورت یکپارچه کنار هم قرار میدهد، که برای مقایسه بصری (مانند تصاویر پزشکی) مناسبتر است.
نکات پیشرفته
- انتخاب فرمت مناسب:
- JPEG: برای تصاویر با فشردهسازی بالا و کیفیت قابلقبول.
- PNG: برای تصاویر بدون افت کیفیت و پشتیبانی از شفافیت.
- TIFF: برای تصاویر پزشکی یا علمی با دادههای اضافی.
2. مدیریت تصاویر بزرگ: برای تصاویر با حجم بالا، از فرمتهای فشرده مانند JPEG یا فشردهسازی بدون افت مانند PNG استفاده کنید.
3. تبدیل فرمتها: با تابع imwrite میتوانید تصاویر را به فرمت دلخواه ذخیره کنید:
imwrite(I, 'output.png', 'PNG');
4. پردازش تصاویر پزشکی: تصاویر DICOM (پرکاربرد در پزشکی) با توابع خاص مانند dicomread خوانده میشوند.
5. خواندن تصاویر چندصفحهای: فرمتهایی مانند TIFF و GIF از چندین فریم پشتیبانی میکنند:
[I, map] = imread('multipage.tif', 'Index', 2);
نتیجهگیری
متلب با پشتیبانی از فرمتهای متنوع تصویر مانند JPEG، PNG، TIFF و غیره، و با استفاده از توابعی مانند imread، imshow، subplot و montage، ابزارهای قدرتمندی برای خواندن و نمایش تصاویر فراهم میکند. فرمتهای JPEG و PNG به دلیل تعادل در کیفیت و حجم فایل، پرکاربردتر هستند. برای تصاویر ایندکسشده، مدیریت نقشه رنگ اهمیت دارد، بهویژه در کاربردهای پزشکی. با درک تفاوتهای فرمتها و تکنیکهای نمایش، میتوان پردازش تصویر را با دقت و کارایی بیشتری انجام داد. در آموزشهای بعدی، به بررسی پردازش تصاویر پزشکی و فرمتهای خاص مانند DICOM خواهیم پرداخت.
