کتابی که پیش روی شماست تلاش کوچکی برای معرفی توانمندی های نرم افزار قدرتمند MATLAB در علوم پردازش تصویر است. شاید این جمله را شنیده باشید که چشم شتر مرغ از مغزش بزرگتر است! در حدود ۹۰ درصد اطلاعات محیط اطرافمان را از طریق حس بینایی دریافت می کنیم، اما آیا باید به همه‌ی این اطلاعات اعتماد کرد؟

این روزها حضور رایانه ها در همه جا حس می شود. فروشگاهها، مدارس، دانشگاهها، سازمانها و شرکت های خصوصی و دولتی و بسیاری جاهای دیگر. تأثیرات مختلف این حضور نیز همه روزه قابل رویت است. صورت حسابهای منظم کامپیوتری، آگهی های جذاب تلویزیونی، بازیها و سرگرمی های خانگی و خیلی موارد دیگر. متأسفانه این تأثیرات فقط از جنبه های مثبت برخوردار نیستند؛ زیرا به عنوان مثال می توان از کامپیوترها برای جعل مدارک با کیفیت بسیار بالا استفاده کرد، به طوری که این امکانات نامحدود باعث خدشه دار شدن اصالت مدارک و عکس ها در محاکم و مراجع قانونی شده است. این امکانات بالقوه، ما را خواسته و یا ناخواسته وارد دنیای رایانه ها و ماشین های حسابگر کرده است. تقریباً همه روزه شاهد ظهور زمینه های کاربردی جدیدی برای علم پردازش تصاویر رقومی هستیم. نقطه ی آغازین این علم، اکتشافات فضایی است که با هدایت محققین و تکنیسین های موسسه‌ی ملی هوا و فضای آمریکا (NASA) انجام گرفت. این علم به سرعت به ابزاری برای تفسیر عکس ها در سازمان های جاسوسی دنیا تبدیل گردید. از دیگر سو، دیگر علوم نیز از تأثیرات ناخواسته‌ی این علم مصون نماندند. زمین شناسان با استفاده از این علم تصاویر با اطلاعات بسیار مفیدی از سطح زمین بدست می آورند؛ در این تصاویر می توان جابجایی های پوسته ی زمین را به راحتی تشخیص داد. تصاویر چند طیفی (چند تصویر از یک منطقه که با بسامد های مختلف، از یک منطقه اخذ شده اند) را می توان در اکتشافات نفت و معادن به کار برد، همچنین تصاویر کف اقیانوس ها را می‌توان با استفاده از سنجنده های رادار فضایی بدست آورد و نقشه های آن را بدست آورد، نقشه های هواشناسی را نیز می توان از این مقوله دانست. در حالیکه متخصصان علوم زمینی و نقشه برداری از تصاویر رقومی برای اکتشاف و تهیه ی نقشه از منابع طبیعی استفاده می کنند، برنامه ریزان و طراحان از روشهایی مشابه برای منظورهای دیگر سود می برند. با استفاده از GIS مسئولین دولتی می توانند پیشرفت های پروژه های عمرانی را با استفاده از عکس های هوایی پیگیری کنند، می توان منطقه ی تحت پوشش مرکز تلفن حوادث اضطراری را روی نقشه های مراکز جمعیتی قرار داد و … . همچنین می‌توان از کاربردهای علم پردازش تصاویر در پزشکی و دندان پزشکی، پردازش اسناد و مدارک، کاربردهای صنعتی و رباتیک (دید ماشینی)، نشر و چاپ، صنعت سرگرمی و سینما، کاربردهای تجاری و حتی کاربردهای خانگی نظیر استفاده از دوربین های رقومی، نمابر و تلویزیون و دیگر کاربردها نام برد.

کتاب حاضر ترجمه ای است از کتاب An Introduction to Digital Image Processing with Matlab             نوشته Alasdair McAndrew که به عنوان جزوه درسی در دانشگاه ویکتوریا تدریس می‌شود. برخی تصاویر استفاده شده در این کتاب که در لوح فشرده نرم افزار MATLAB موجود نمی باشد، از طریق سایت www.E-Geomatics.com قابل دسترس می باشد. بدیهی است که این مجموعه عاری از عیب و نقص نمی تواند باشد و باعث خوشحالی است اگر خوانندگان محترم نظرات خود را توسط آدرس الکترونیکی DIPwithmatlab@gmail.com با ما درمیان گذارند.

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

 

فهرست مطالب

فصل ۱ مقدمه

۱٫۱) تصاویر و عکسها …………………………………………………………………….. ۱

۲٫۱) پردازش تصاویر چیست؟ …………………………………………………………. ۲

۳٫۱) تصویر و تصویر رقومی ……………………………………………………………. ۵

۴٫۱) برخی کاربرد ها ……………………………………………………………………… ۷

۵٫۱) جنبه های مختلف پردازش تصاویر …………………………………………….. ۸

۶٫۱) وظایف پردازش تصاویر …………………………………………………………. ۹

۷٫۱) انواع تصاویر رقومی ………………………………………………………………… ۱۰

۸٫۱) اندازه ی یک فایل تصویری …………………………………………………….. ۱۳

۹٫۱) برداشت تصویر ………………………………………………………………………. ۱۴

۱۰٫۱) تعبیر (درک) تصویر …………………………………………………………….. ۱۵

فصل ۲ مقدمه ای بر MATLAB

۱٫۲) مقدمه ……………………………………………………………………………………. ۱۷

۲٫۲) دستورات پایه ای در MATLAB …………………………………………….. 19

۳٫۲) متغیر ها ………………………………………………………………………………… ۲۰

۱٫۳٫۲) فضای کاری …………………………………………………………………. ۲۱

۴٫۲) تولید ماتریس ………………………………………………………………………… ۲۲

۱٫۴٫۲) آرایه های ماتریس …………………………………………………………. ۲۲

۲٫۴٫۲) عملیات روی ماتریسها ……………………………………………………. ۲۴

۳٫۴٫۲) عملگرها در MATLAB ………………………………………………… 28

۴٫۴٫۲) ماتریس های ویژه …………………………………………………………. ۲۹

۵٫۴٫۲) بُرداری کردن ……………………………………………………………….. ۳۲

۵٫۲) نمایش های گرافیکی ………………………………………………………………. ۳۳

۶٫۲) استفاده از راهنمای MATLAB…………………………………………………..35

تمرینات ……………………………………………………………………………………….. ۳۷

فصل ۳- تصاویر و MATLAB

۱٫۳) تصاویر با درجات خاکستری …………………………………………………….. ۳۹

۲٫۳) تصاویر رنگی (RGB) ……………………………………………………………. 41

۳٫۳) تصاویر با رنگ های اندیس دار …………………………………………………..۴۳

۴٫۳) کسب اطلاعاتی در مورد یک تصویر …………………………………………. ۴۳

۴٫۳) انواع داده ها و تبدیلات بین آنها ……………………………………………….. ۴۵

تمرینات ……………………………………………………………………………………….. ۴۸

فصل۴ نمایش تصویر در MATLAB

۱٫۴) مقدمه ……………………………………………………………………………………. ۴۹

۲٫۴) تابع imshow ……………………………………………………………………….. 49

۱٫۲٫۴) تصاویر با درجات خاکستری ……………………………………………. ۴۹

۲٫۲٫۴) تصاویر دودویی (باینری) ………………………………………………… ۵۲

۳٫۴) طرح های بیتی ……………………………………………………………………….. ۵۴

۴٫۴) قدرت تفکیک مکانی ………………………………………………………………. ۵۵

تمرینات ……………………………………………………………………………………….. ۶۰

فصل ۵ پردازش نقطه ای

۱٫۵) مقدمه ……………………………………………………………………………………. ۶۱

۲٫۵) عملگرهای جبری ……………………………………………………………………. ۶۲

۱٫۲٫۵) متمم تصویر …………………………………………………………………. ۶۵

۳٫۵) هیستوگرام های تصویر ……………………………………………………………. ۶۷

۱٫۳٫۵) کشیدن هیستوگرام (کشش کنتراست) ……………………………. ۶۷

۲٫۳٫۵) استفاده از تابعimadjust ………………………………………………. 69

۳٫۳٫۵) تابع کشش خطی تکه ای ………………………………………………… ۷۱

۴٫۳٫۵) یکنواخت سازی هیستوگرام …………………………………………….. ۷۳

۴٫۵) آستانه گیری ………………………………………………………………………….. ۷۸

۱٫۴٫۵) تک آستانه …………………………………………………………………… ۷۸

۲٫۴٫۵) آستانه گیری مضاعف …………………………………………………….. ۸۱

۵٫۵) کاربردهای آستانه گیری …………………………………………………………. ۸۲

تمرینات ……………………………………………………………………………………….. ۸۴

فصل ۶- فیلتر در حیطه مکان

۱٫۶) مقدمه ……………………………………………………………………………………. ۸۷

۲٫۶) چند نکته ……………………………………………………………………………….. ۹۱

۱٫۲٫۶) حاشیه های تصویر …………………………………………………………. ۹۲

۳٫۶) فیلتر کردن در MATLAB………………………………………………………. 92

۴٫۶) فرکانس ها، فیلترهای پایین گذر و بالا گذر ……………………………….. ۹۷

۱٫۴٫۶) مقادیر خارج از بازه ی ۲۵۵- ۰ ………………………………………… ۹۹

۵٫۶) فیلترهای گوسی ……………………………………………………………………… ۱۰۱

۶٫۶) فیلتر های غیر خطی ………………………………………………………………… ۱۰۵

تمرینات ……………………………………………………………………………………….. ۱۰۷

فصل ۷-نویز

            ۱٫۷) مقدمه ……………………………………………………………………………………. ۱۰۹

۲٫۷) انواع نویز ………………………………………………………………………………. ۱۰۹

۱٫۲٫۷) نویز نمک و فلفل …………………………………………………………… ۱۰۹

۲٫۲٫۷) نویز گوسی ……………………………………………………………………. ۱۱۰

۳٫۲٫۷) نویز خال ………………………………………………………………………. ۱۱۱

۴٫۲٫۷) نویز متناوب (پریودیک) ……………………………………………… ۱۱۲

۳٫۷) حذف نویز نمک و فلفل ………………………………………………………….. ۱۱۳

۱٫۳٫۷) فیلتر کردن رتبه – ترتیب ………………………………………………. ۱۱۵

۲٫۳٫۷) روش outlier ……………………………………………………………… 116

۴٫۷) حذف نویز گوسی ………………………………………………………………….. ۱۱۹

تمرینات ……………………………………………………………………………………….. ۱۲۵

 

فصل ۸ لبه ها

۱٫۸) مقدمه …………………………………………………………………………………… ۱۲۷

۲٫۸) تفاضل ها و لبه ها ………………………………………………………………….. ۱۲۸

۱٫۲٫۸) تعریف های اولیه ……………………………………………………………. ۱۲۸

۲٫۲٫۸) برخی از فیلترهای تفاضلی ………………………………………………… ۱۳۰

۳٫۸) مشتقات دوم …………………………………………………………………………… ۱۳۶

۱٫۳٫۸) لاپلاسین ………………………………………………………………………… ۱۳۶

۲٫۳٫۸) تقاطعهای صفر ………………………………………………………………… ۱۳۸

۴٫۸) بارزسازی لبه ………………………………………………………………………….. ۱۴۱

۵٫۸) نکات پایانی …………………………………………………………………………… ۱۴۷

تمرینات ……………………………………………………………………………………….. ۱۴۸

فصل ۹ تبدیل فوریه

۱٫۹) مقدمه ……………………………………………………………………………………. ۱۵۱

۲٫۹) تبدیل فوریه یک بعدی گسسته …………………………………………………. ۱۵۱

۱٫۲٫۹) تعریف DFT یک بعدی ………………………………………………….. ۱۵۴

۳٫۹) ویژگیهای DFT یک بعدی …………………………………………………….. ۱۵۵

۴٫۹) DFT دوبعدی ……………………………………………………………………….. ۱۵۷

۱٫۴٫۹) برخی از ویژگیهای تبدیل فوریه دو بعدی ……………………………. ۱۵۹

۵٫۹) تبدیل فوریه در MATLAB ……………………………………………………. 165

۶٫۹) تبدیل فوریه تصاویر ………………………………………………………………… ۱۶۷

۷٫۹) فیلتر کردن در حوزه فرکانس …………………………………………………… ۱۷۱

۱٫۷٫۹) فیلتر ایده آل ………………………………………………………………….. ۱۷۲

۲٫۷٫۹) فیلتر کردن Butterworth …………………………………………….. 176

۳٫۷٫۹) فیلتر کردن گوسی ………………………………………………………….. ۱۸۰

۸٫۹) حذف نویز پریودیک ……………………………………………………………… ۱۸۳

۹٫۹) فیلتر کردن معکوس ………………………………………………………………… ۱۸۶

۱٫۹٫۹) حذف تاری به علت حرکت ……………………………………………… ۱۹۰

تمرینات ……………………………………………………………………………………….. ۱۹۳

فصل ۱۰- پردازش تصاویر رنگی

۱٫۱۰) رنگ چیست؟ ………………………………………………………………………. ۱۹۵

۲٫۱۰) مدلهای رنگی ……………………………………………………………………….. ۲۰۰

۱٫۲٫۱۰) RGB ……………………………………………………………………….. 200

۲٫۲٫۱۰) HSV ……………………………………………………………………….. 202

۳٫۲٫۱۰) تبدیلات بین RGB و HSV ……………………………………….. 203

۴٫۲٫۱۰) YIQ ………………………………………………………………………… 206

۳٫۱۰) تصاویر رنگی در MATLAB ………………………………………………… 207

۴٫۱۰) رنگ دهی کاذب ………………………………………………………………….. ۲۱۰

۱٫۴٫۱۰) برش شدت ………………………………………………………………….. ۲۱۰

۲٫۴٫۱۰) تبدیلات خاکستری- رنگی …………………………………………….. ۲۱۰

۵٫۱۰) پردازش تصاویر رنگی …………………………………………………………… ۲۱۳

تمرینات ……………………………………………………………………………………….. ۲۱۸

 

ضمیمه A) فهرست الفبایی دستورات مربوط به پردازش تصاویر …………………………. ۲۲۱

ضمیمهB ) واژه نامه انگلیسی- فارسی ……………………………………………………………… ۲۲۴

ضمیمهC ) واژه نامه فارسی- انگلیسی ……………………………………………………………… ۲۳۴

ضمیمهD ) تصاویر رنگی ……………………………………………………………………………… ۲۴۴