شناسه پست: 19594
بازدید: 383

نمایش های مختلف ماتریس اسپارس و کاربرد آن در پردازش تصویر
مقدمه:
مجموعه عملیات  و روش هایی که برای کاهش عیوب و افزایش کیفیت ظاهری تصویر مورد استفاده قرار می گیرد، پردازش تصویر نامیده می شود.حوزه های مختلف پردازش تصویر را می توان شامل بهبود تصاویر مختلف پزشکی  مانند آشکار سازی تومور های مغز یا پهنای رگ های خونی و … ، افزایش کیفیت تصاویر  حاصل از ادوات نمایشی  مانند تصاویر تلویزیونی  و ویدیویی، ارتقا متون و شکل های مخابره شده در رسانه های مختلف مانند شبکه و فاکس و همچنین بهبود کیفیت روش های کنترل توسط بینایی ماشین و درک واقعی تر مناظر توسط ربات ها دانست.
اگرچه حوزه ی کار با تصاویر بسیار گسترده است ولی عموما محدوده ی مورد توجه در چهار زمینه ی بهبود کیفیت ، بازسازی تصاویر مختل شده، فشرده سازی تصویر و درک تصویر توسط ماشین متمرکز می گردد. در اینجا  سه تکنیک اول بررسی خواهد شد.
از آنجایی که برای کار روی تصاویر با پیکسل ها سروکار داریم و هر پیکسل نشان دهنده ی یک عنصر از یک آرایه ی دوبعدی است، کار روی تصاویر  همواره با  کار روی ماتریس ها عجین شده است. ماتریس اسپارس یا ماتریس خلوت ، ماتریسی است که درایه های صفر آن زیاد باشد و در نتیجه ذخیره ی عناصر صفر  مقرون به صرفه نیست و همواره سعی در کاهش ذخیره ی این عناصر است تا بتوان عملیات ماتریسی را سریع تر انجام داد.  در کار با تصویر با اینگونه ماتریس ها زیاد برخورد می کنیم . در این پروژه ابتدا تکنیک ها و روش های مختلف پردازش تصویر را معرفی می کنیم. در بخش بعد الگوریتم های موازی را شرح می دهیم که در GPU کاربرد دارند و با معماری موازی آشنا می گردیم. در بخش سوم برخی از الگوریتم های مربوط به ماتریس خلوت را مورد بررسی قرار می دهیم و در نهایت در بخش چهارم کاربرد این ماتریس ها را در پردازش تصویر معرفی خواهیم نمود.
و در آخر، پیاده سازی یکی از ا لگوریتم های مبحث فشرده سازی را  روی تصاویر باینری، انجام خواهیم داد و با یکی از الگوریتم های فشرده سازی مربوط به تصاویر باینری به نام Run length coding مقایسه خواهیم نمود.
بخش اول
روش های پردازش تصویر
توجه و روی آوردن به روش های پردازش تصاویر به اوایل سال 1920 باز می گردد، زمانی که عکس های دیجیتال برای اولین بار توسط کابل های زیردریایی از نیویورک به لندن فرستاده شد.با این حال، کاربرد مفهوم پردازش تصویر تا اواسط 1960 گسترش وپیشرفت چندانی نیافت. در  1960 بود که کامپیوتر های نسل سوم دیجیتال به بازار آمد که می توانست سرعت و حافظه بالای مورد نیاز برای پیاده سازی الگوریتم های پردازش تصویر رافراهم کند.
از آن پس، تجربه در این زمینه گسترش یافت. مطالعات و تحقیقات زیادی در این موضوع در علوم مختلف از جمله : مهندسی،  علوم کامپیوتر، علوم اطلاعات، فیزیک، شیمی، بیولوژی و داروسازی انجام شد.
نتیجه ی این تلاش ها در تکنیک های پردازش تصویر در مسائل مختلف – از بهبود کیفیت و بازیابی تصاویر گرفته تا پردازش اثر انگشت در مسائل تجاری خود رانشان داد.
در این فصل بر آنیم که تکنیک ها و روش های مختلف پردازش تصویر را معرفی و بررسی کنیم. اما پیش از پرداختن به روش ها ، برخی تعاریف پایه را ذکر خواهیم کرد.
1-1 تصویر دیجیتالی:
تصویر به عنوان ترجمه image نشانگر یک شکل دو بعدی می باشد که توسط یک وسیله ی حساس به نور مانند دوربین به وجود آمده باشد. اما picture (عکس) نشانگر هر گونه شکل دو بعدی مانند یک تابلوی نقاشی و یا یک دست نوشته است. مقصود از تصویر دیجیتال ، digital image می باشد.
یک تصویر را می توان توسط تابع دوبعدی f(x,y) نشان داد که در آن x و y را مختصات مکانی و مقدار f در هر نقطه را شدت روشنایی تصویر درآن نقطه می نامند. اصطلاح سطح خاکستری نیز به شدت روشنایی تصاویر مونوکروم (monochrome)  اطلاق میشود . تصاویر رنگی نیز از تعدادی تصویر دوبعدی تشکیل می شود.
زمانی که مقادیر x و y و مقدار f(x,y) با مقادیر گسسته و محدود بیان شوند ، تصویر را یک تصویر دیجیتالی می نامند. دیجیتال کردن مقادیر x و y را Sampling و دیجیتال کردن مقدار f(x,y) را quantization گویند.
برای نمایش یک تصویر M * N از یک آرایه دو بعدی ( ماتریس) که M سطر و N ستون دارد استفاده می کنیم . مقدار هر عنصر از آرایه نشان دهنده ی شدت روشنایی تصویر در آن نقطه است. در تمام توابعی که پیاده سازی می شود ، هر عنصر آرایه یک مقدار 8 بیتی است که می تواند مقداری بین 0 و 255 داشته باشد. مقدار صفر نشان دهنده ی رنگ تیره   ( سیاه ) و مقدار 255 نشان دهنده رنگ روشن ( سفید ) است.