دانلود پایان نامه کارشناسی مهندسی نرم افزار

تسریع پردازش تصاویر با استفاده از ماتریس اسپارس

(بصورت جامع و کامل در قالب 225 صفحه)
 
*آپدیت دوم:
ضمیمه شدن پردازش تصویر و ماشین بینایی در قالب 120 صفحه ورد بصورت رایگان:)
 
*آپدیت اول:
تصاویر تست شده و کد matlab مربوط به پیاده سازی دو الگوریتم run length coding و runrobs  برای فشرده سازی
 
 
چکیده:
در سیستم‌های پردازش تصویر با توجه به حجم بزرگ داده‌های تصویر، به قدرت محاسباتی بالا نیاز داریم. این امر خصوصا در الگوریتم پیچیده محسوس‌تر می‌باشد. 
مجموعه عملیات  و روش هایی که برای کاهش عیوب و افزایش کیفیت ظاهری تصویر مورد استفاده قرار می گیرد، پردازش تصویر نامیده می شود.حوزه های مختلف پردازش تصویر را می توان شامل بهبود تصاویر مختلف پزشکی  مانند آشکار سازی تومور های مغز یا پهنای رگ های خونی و ... ، افزایش کیفیت تصاویر  حاصل از ادوات نمایشی  مانند تصاویر تلویزیونی  و ویدیویی، ارتقا متون و شکل های مخابره شده در رسانه های مختلف مانند شبکه و فاکس و همچنین بهبود کیفیت روش های کنترل توسط بینایی ماشین و درک واقعی تر مناظر توسط ربات ها دانست.
 
اگرچه حوزه ی کار با تصاویر بسیار گسترده است ولی عموما محدوده ی مورد توجه در چهار زمینه ی بهبود کیفیت ، بازسازی تصاویر مختل شده، فشرده سازی تصویر و درک تصویر توسط ماشین متمرکز می گردد. در اینجا  سه تکنیک اول بررسی خواهد شد.از آنجایی که برای کار روی تصاویر با پیکسل ها سروکار داریم و هر پیکسل نشان دهنده ی یک عنصر از یک آرایه ی دوبعدی است، کار روی تصاویر  همواره با  کار روی ماتریس ها عجین شده است. ماتریس اسپارس یا ماتریس خلوت ، ماتریسی است که درایه های صفر آن زیاد باشد و در نتیجه ذخیره ی عناصر صفر  مقرون به صرفه نیست و همواره سعی در کاهش ذخیره ی این عناصر است تا بتوان عملیات ماتریسی را سریع تر انجام داد.
 
 در کار با تصویر با اینگونه ماتریس ها زیاد برخورد می کنیم . در این پروژه ابتدا تکنیک ها و روش های مختلف پردازش تصویر را معرفی می کنیم. در بخش بعد الگوریتم های موازی را شرح می دهیم که در GPU کاربرد دارند و با معماری موازی آشنا می گردیم. در بخش سوم برخی از الگوریتم های مربوط به ماتریس خلوت را مورد بررسی قرار می دهیم و در نهایت در بخش چهارم کاربرد این ماتریس ها را در پردازش تصویر معرفی خواهیم نمود.و در آخر، پیاده سازی یکی از الگوریتم های مبحث فشرده سازی را  روی تصاویر باینری، انجام خواهیم داد و با یکی از الگوریتم های فشرده سازی مربوط به تصاویر باینری به نام Run length coding مقایسه خواهیم نمود.
 
 
 
کلمات کلیدی:

پردازش تصویر

الگوریتم های موازی

الگوریتم های فشرده سازی تصاویر

کاربرد ماتریس اسپارس در پردازش تصویر

 
 
مقدمه:
توجه و روی آوردن به روش های پردازش تصاویر به اوایل سال 1920 باز می گردد، زمانی که عکس های دیجیتال برای اولین بار توسط کابل های زیردریایی از نیویورک به لندن فرستاده شد.با این حال، کاربرد مفهوم پردازش تصویر تا اواسط 1960 گسترش وپیشرفت چندانی نیافت. در  1960 بود که کامپیوتر های نسل سوم دیجیتال به بازار آمد که می توانست سرعت و حافظه بالای مورد نیاز برای پیاده سازی الگوریتم های پردازش تصویر رافراهم کند.از آن پس، تجربه در این زمینه گسترش یافت. مطالعات و تحقیقات زیادی در این موضوع در علوم مختلف از جمله : مهندسی،  علوم کامپیوتر، علوم اطلاعات، فیزیک، شیمی، بیولوژی و داروسازی انجام شد.
 
نتیجه ی این تلاش ها در تکنیک های پردازش تصویر در مسائل مختلف - از بهبود کیفیت و بازیابی تصاویر گرفته تا پردازش اثر انگشت در مسائل تجاری – خود رانشان داد.تصویر به عنوان ترجمه 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 نشان دهنده رنگ روشن ( سفید ) است.
 
 
 
فهرست مطالب
مقدمه: 2

بخش اول:روش های پردازش تصویر 4

1-1 تصویر دیجیتالی: 5

2-1 تعریف رنگ و ویژگی های آن: 7

1-2-1 فضای رنگ HSV : 8
2-2-1 فضای رنگ  RGB: 12
3-1پردازش تصویر (Image Processing ) 13

دراینجا به تكنیك های مختلف پردازش تصاویر در سطح مقدماتی خواهیم پرداخت . 13

1-3-1 بهبود كیفیت تصویر( image enhancement ) : 13
1-1-3-1بهبود کیفیت تصویر در حوزه مکان : 14
2-1-3-1 بهبود کیفیت تصویر در حوزه فرکانس : 24
2-3-1 بازسازی تصاویر: 31
نویز گوسی: 32
نویز ریلی: 33
نویز ارلانگ ( گاما ) : 33
نویز نمایی : 33
نویز یکنواخت : 34
نویز ضربه ( نمک و فلفل ) : 34
فیلتر میانگین ریاضی : 37
فیلتر میانگین هندسی : 37
فیلتر میانه: 37
فیلترهای بیشینه و کمینه : 38
فیلتر نقطه میانی : 38
3-3-1 کدینگ و فشرده سازی تصویر: 38
4-3-1 قطعه بندی تصویر  (  Image segmentation ) : 42
1-4-3-1 روش های مبتنی بر از مشتق اول: 45
فیلترهای مشتق گیر prewitt 48
فیلترهای مشتق گیر sobel 48
2-4-3-1 روش مبتنی بر مشتق دوم  یا  لاپلاس: 50
 

بخش دوم :الگوریتم های موازی 52

1-2 الگوریتم های موازی: 53
2-2 معماری موازی: 55
 

بخش سوم:ماتریس اسپارس(خلوت) 58

1-3 الگوریتم های ذخیره ماتریس اسپارس: 59

تحلیل زمان اجرای ذخیره سازی :  الگوریتم ذخیره سازی از درجه n2 می باشد . 60
2-3-1 روش CRS 60
پیاده سازی : 62
تحلیل زمان اجرای ذخیره سازی :   . 63
3-3-1  روش CCS 64

تحلیل حافظه مصرفی : . 66

4- 3-1 (CDS )   Compresses diagonal storage 67
تحلیل زمان اجرای ضرب: 72
تحلیل زمان اجرای ذخیره سازی : 72
6-3-1 The transpose jagged diagonal format 72
تحلیل زمان اجرای ضرب: 74
7-3-1 Robs Alorithm 74
 

بخش چهارم:کاربرد ماتریس اسپارس در پردازش تصاویر 78

1-4 (GPU)  Graphic Processing Unit: 79
2-4 پردازش تصویر و GPU : 80
3-4 مقایسه ی دو الگوریتم: 83
نتیجه گیری: 90
ضمیمه 1 91
ضمیمه 2 101
منابع: 104
----------------------------------------
*آپدیت دوم:
ضمیمه شدن پردازش تصویر و ماشین بینایی در قالب 120 صفحه ورد بصورت رایگان:)