صفحه 1:
کلاس آموزشی
صفحه 2:
fad سیزدهم: جعبهابزار پردازش تصویر
۱۲-۱ -مقدمه
لس در متلب تصاوبر بصورت ماتریسهای og? سه و یا چهاربعدی تعریف میشوند.
بي ee ۰
در هنگام تصویربرداری و یا ذخیرهسازی تصویر بستگی دارد.
لآ دقت J gle (Depth) ise دقت عمقی تعداد بیتهایی است که از حافظه
کامپیوتر به هر نقطه(پیکسل) از تصویر اختصاص داده میشود.
لا دقت ابعادی(0۳0 تلا 6501): منظور تعداد نقاط نمونهبرداری شده در واحد طول
با عرض تصویر است. دفت ابعادی افقی و عمودی پک تصویر ممکن است متفاوت
باشند آما معمولا چنین نیست. واحد دقت ابعادی 001 یا نقطه بر اینچ است,
صفحه 3:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱ -مقدمهدامه-
لا انواع تصاوير: انواع تصاوير عبارتند از :
تصاوير انديس ار
# تصاویر شدت
A تصاویر باینری
# تصاوير 868
فا تصاوير جندفريمى
كه در آدامه فصل مفصلا به هريك خواهيم يرداخت
O فرمتهای گرافیکی: تصاویر با فرمتهاى مختلفى مىتوانند بر روى ديسك ذخيره شوند.
مهمترین فرمتهای گرافیکی در زمان حاضر عبارتند ز: 01/۳۰ ۴[ ,۳۸۷۵
۲۱۴۴۵۳ که تمامی آنها بعلاوه چندین فرمت دیگر توسط متلب پشتیبانی میشوند.
صفحه 4:
fad سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویر
تصاویر شدت(96 ۱۳۱3 6۳0510۷(
تصویر شدت یا تصویر سطح خاکستری. به تصویری گفته میشود که تنها دارای مقادیر
روشنایی باشد و فاقد خصوصیات رنگ مانند: فام و خلوص باشد. در متلب این
تصاویر توسط مانریسهای دو بعدی تعریف میشوند بطوریکه مقدار هر عنصر از این
مسجت بح مسجت ee ee اک ماک بسا ات
تغییرات عناصر این ماتریس ممکن است بین ۰ تا ۱ و یابین > تا ۲۵۵ تغییر کند.
در حالت اول دادههای ماتریس از نوع دقت مضاعف و در حالت دوم از نوع
8 خواهد بود. بجز توابع تعریف شده در جعبهابزار 1۳3965 و بعضی از
توابع خود متلب. سایر عملیات ریاضی بر روى نوع 78 ألا در حال حاضر
امکانپذیر نمیباشد. لذا در صورت نيازء اين نوع بايد به نوع دقت مضاعف تبديل
شود که میزان حافظه مور رد نباز آن چهار برابر 1020 لاد
صفحه 5:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویرعدامه
تصاویر شدتادامه
تعونهای از یک تصویر شدت:
صفحه 6:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویر-دامه
تصاویر اندیسشده(6 ۱۳۵9 dndexed
این تصاوبر توسط دو ماتریس زیر مشخص میشوند:
SS SS ee
میباشد. مقادیر این ماتریس معمولا بین ۱ تا ۲۵۶ تغيير م ىكند و مقدار هر درایه از
آین ماتریی معرف شماره سطری از ماتر یس نقضهر نگ است.
۴ ماتریس نقشهرنگ(0 ۴08 این ماتریس دارای ۳ ستون میباشد و هر سطر از آن
معرف یکی از رنگهای موجود در تصویر است. بطوریکه عنصر اول هر سطر معرف نسبت
اولیه قرمزه عنصر دوم معرف اولیه سبز و عنصر سوم معرف اولیه آبی است.
یک تصویر اندیسشده بسته به مقادیر ماتریس نقشهرنگ ممکن است رنگی پا سطح
خاکستری باشد.
صفحه 7:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویر-ادامه
تصاویر اندیسشده(6 ۱۳۹۵9 1۱016(»60) ادامه
نمونهای از یک تصویر اندیسشده
صفحه 8:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویر-ادامه
تصاویر باینری
Se
مقدار ممکن (معمولا + و ۱) باشد.ذر متلب
ن تنها بتواند دارای یکی از دو
= تصاوير مىتوائتد با فرعت double ,
یا 08لا خیرهسازی شوند اما بطور پیشفرض متلب فرمت UINTB ,5.1 ره
برد كة مقادير آن مىتواندء و وبا و ۲۵۵ بان
صفحه 9:
fad سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- انواع تصاویر ادامه
تصاویر 85
یک تصویر 6۵8 یا 60۱0۴ 6لا۳] به تصویری گفته میشود که به ازای هر پیکسل از آن سه عدد بین
تا ۲۵۵ در حافظه کامپیوتر ذخیره شده باشد که اين اعداد معرف شدت هر یک از اولیههای قرم
سبز و آبی میباشد. مثلا برای یک پیکسل سفید سه عدد ۲۵۵ و برای یک پیکسل سبز سه عدد. -,
۵ و - به ترئیب معرف شدت اولیههای قرمز. سبز و آبی ایجاد خواهد شد. بنابراین برای هر نقطه
از تصویر بیش از ۱۶ میلیون(۲۵۶۵۲۵۶۸۲۵۶) حالت رنگی مختلف امکانپذیر خواهد بود. واضح است
که یک تصویر ۳۵0 سه برایر یک تصویر شدت هملندازه با آن حافظه کامپیوتر را اشغال خواهد کرد
و به همان نسبت هم به زمان پردازش بیشتری نياز دارد.
در متلب هر تصویر ۳۵0 بصورت یک ماتریس سهیعدی تعریف میشود که در بعد سوم آن مقادیر
اولیههای رنگی هر نقطه (۲,۵[,10) ذخیره میشوند. عناصر این ماتریس ممکن است بین ۰ تا ۱
double) يا بين ٠ تا ۲۵۵ (0]8آلا)تغییر کند
دقت شود که یک تصویر ۲۵0 لزوما رنگی نیست اما میتواند رنگی باشد.
صفحه 10:
فصل سیزدهم: جعبهابزار پردازش تصویر
Oia Dine 7 2
۱۳-۲- انواع تصاویر ادامه 0.202 0,202 0.0827 0.2002
هب و او مورا موی وا
تصاویر ۵ ادامه 7 5 0۰۱۳/۵ Green ۱0۵۳۲7 0.۱۳22
ان ین 0.1201 0.1201 0.1608 0.120 A126
1608 010527 ۵
02795 0۳ Red ۵۰7۱۸ 5
0
2902 0.2598 0.2235 00821
108 0.2588 0/2588 0.1608
۳۹ 0.258
یک تصویر ۳010 نمونه
صفحه 11:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳۳- خواندن تصاویرتابع 1۳0۲6۵0
به منظور خواندن یک فایل گرافیکی در متلب میتوان از تابع ۱۳0۲6۵۵0 استفاده کرد.
اح يح د حك حتت =
m=imread(‘filename’) <b ,fgb cos pts لكأ براى
لآ برای تصاویر اندیسشده:[۳,۲۴8۵]-( 6۱68۵۴۵6 ) 1۱۳۲6۵۵
که در رابطه اخیر (7] ماتریس انديس و 1113۳0 ماترین نقشهرنگ خواهد بود.
نکته: تابع 1۳0۳680 را با تعداد آرگومانهای بیشتری نیز میتوان فراخوانی کرد. جهت
اطلاع بیشتر به راهنمای متلب رجوع کنید.
صفحه 12:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۴- نمایش تصاویر-تابع 1۳950۷۷
تابع 1۳5۱۵۷۷ میتوان یک تصویر خوانده شده و يا مستقیما یک فایل تصویری را
نمایش دهد:
imshow(m); ۳۵0 تصویر شدتی
imshow(I, map) تصوير ندیسسدم
imshow(‘filename’); فايلكرلفيكى
مثال:
<< imshow(‘fabric.png’)
ir
>> m=imread(‘fabric.png’);
imshow(m)
صفحه 13:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۴- نمایش تصاویر-تابع ۲05/۱0۷۷ [-ادامه
صفحه 14:
fad سیزدهم: جعبهابزار پرد
۱۳-۴ نمایش تصاویر-تابع 1۳0100
تابع دیگری که برای نمایش تصاویر در متلب وجود دارد تابع 1۳0۴001 است. روش استفاده از این تابع
مانند تابع 1۳05/00۷۷ است اما قابلیتهای بیشتری را در اختیار میگذارد:
imshow(‘fabric.png’) >>
صفحه 15:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۵- نوشتن فایلهای گرافیکی-1۳0۷۷۲[6
برای ایجاد یک فایل گرافیکی میتوان از تابع ۳۱۷۷۳۱66] استفاده کرد. این تابع بسته
به نوع تصویر میتواند به یکی از روشهای زیر بکار رده شود:
imwrite(m , ‘filename’);
imwrite(X , map , ‘filename’);
صفحه 16:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۶-تعیین مشخصات یک فایل گرافیکی-تابع 1۳۳۴1۳۲0
این تابع اطلاعاتی از قایل گرافیکی مانند: ابعاد تصویرء دقت ابعادی و دقت
عمقی, نحوه فشردهسازی و.. را آرائه میدهد. این تابع بصورت زیر كار
ody میشود:
info=imfinfo(‘filename’)
صفحه 17:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۷- تبدیل تصاویر
پا استفادهاز-توایح زیرميتوان نوغ یک تصوير را تغيير داد:
bw=im2bw(m , level)
bw=im2bw(x , map , level)
|16۷6 سطح لستانه میباشد(که بایدبین تا اباشه
m=ind2gray(x , map);
[x,map]=gray2ind(m);
[x,map]=rgb2ind(m);
m=ind2rgb(x , map);
m=rgb2gray(m);
چرای کب اطلاعات بیشتر به راهتمای متلب هراجعه کنید.
صفحه 18:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۸- عملیات ریاضی بر روی تصاویر
در صورتبکه نوع دادههای تصویر از نوع 11۲28 باشد امکان بکاربردن
عملگرهای ریاضی و بسیاری از توابع متلب بر روی آنها وجود نخواهد
داشت. بدینمنظور پیش از انجام عملیات ریاضی باید نوع دادهها را به
double تبدیل کرد. پس از انجام عملیات ریاضی در صورت نیاز
میتوان نوع متفیر را به 98لا با زگرداند:
m=double(m);
m=im2uint8(m);
صفحه 19:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۹- عملیات هندسی بر روی تصاویر
== SS SS Se
سه نوع عملیات هندسی در متلب بر روی تصاویر امکانپذیر است:
© تغيير ابعاد تصوير: تابع 1۳9۳65126
8 چرخش تصویر: تابع 1۳0۳0416
۴ برش تصویر: تابع 1۳96۳0۵
که در ادامه به هریک خواهیم پرداخت.
صفحه 20:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۲-۹- عملیات هندسی بر روی تصاویر-دامه
تغيير ابعاد تصویر: تابع 1۳۱۳65126
آین تابع به یکی از دو صورت زير قایل استفاده است:
y=imresize(x , a);
y=imresize(x , [m , n]);
درحالت اول متغیر 8 تغییر در ابعاد تصویر است. مثلا اگر برابر با ۲ باشد یعنی
ابعاد تصویر حوبرابر خواهد شد. اگر این عدد کمتر از ۲ باشد تصویر کوچکتر حواهت
شد و اگر بیشتر از یک باشد تصویر بزرگتر میشود.
در حالت دوم تعداد سطر و ستون جدید تصویر به تابع ارایه میشود که باید آعداد
Se
صفحه 21:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۲-۹- عملیات هندسی بر روی تصاویر-دامه
چرخش تصویر-تابع 1۳۱۳01۵16
aged استفاده از ان تابع بصورت زیر است:
m2=imrotate(m , d , [‘Option’] , [‘crop’])
آرگومان دوم میزان چرخش تصوير برحسب درجه ميباشد. آرگومان سوم اختیاری بوده و
میتواند یکی از مقادیر 86۵۲65۴ ,0111863۳ با > امالااظ باشد. در
صورتیکه این آرگومان بکار برده تشود. مقدار پیشفرض 06۵۳65 خواهد بود.
آرگومان چهارم نیز اختیاری میباشد و تنها میتواند مقدار 6۲0۴" را داشته باشد.
کرصورتیکه بکار برده شود ابعاد تصویر پس ار چرخش تقییر تم یکند اما بخشی ار
تصویر برش داده و حذف میشود
صفحه 22:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۹ عملیات هندسی بر روی تصاویر ادامه
جرخش تصوير-تابع ©11110636أ-ادلمه
مثال:
m=imread(‘ic.tif’);
n=imrotate(m , 35); p=imrotate(m , 35,’crop’);
imshow(n); figure; imshow(p);
1
3
۳۳۳
صفحه 23:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۹- عملیات هندسی بر روی تصاویر-ادامه
برش تصویر: تابع 1۳96۲00
این تابع به یکی از شکلهای زیر قابل استفاده است:
12 = IMCROP(I,RECT)
X2 = IMCROP(X,MAP, RECT)
RGB2 = IMCROP(RGB,RECT)
[A,RECT] = IMCROP(...)
که در این روابط ]۲6 یک برذار سطری است که مختصات یک ناجیه مستطیلی شکل
که از تصویر برش حادم می شود را م شحص می کند- مر صورتیکه ای آرگومان جر
Se ee eae
ناحیه مستطیلی را با ماوس انتخاب کند.
صفحه 24:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۹- عملیات هندسی بر روی تصاویر ادامه
برش تصویر: تابع 1۳06۳00 دامه
مثال:
m=imread(‘pout.tif’);
imshow(m);figure;imcrop(m,[size(m)/4,size(m)/2]
صفحه 25:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۰- فیلترهای خطی و طراحی فیلتر
برای اعمال یک فیلتر بر روی تصویر میتوان از تابع ۱۱۳6۳2 استفاده کرد:
m2=filter2(h , m)
در رابطه "] ماتریس فیلتر و ۲ ماتریس تصویر اولیه است. 1۱ میتولند هر ماتریس با ابعاد دلخواه باشد.
اما معمولا یک ماتریس ۳۵۳ یا ۵*۵ است.
صفحه 26:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۰- فیلترهای خطی و طراحی فیلتر-دامه
لآ فيلترهاى آماده
با استفاده از fspecial ot میتوان فیلترهای ای معمول در پردازش تصویر را برای استفاده با تابع 8166۳2
ایجاد کرد. روش استفاده از اين تابع بصور:
زیر آست:
(نام فيلتر' , لبعاد فیلتر ")۲5066131
بستة بة نوع أركومان اول ممكن است اين تابع با يك يا بيش دو أركومان نيز بكار برده شود
=
gaussian: 3 =i.
بلاگنر :50061
بداهنر ۵۲۵۸۸
laplacian: sy فيلم
اعمط وسيل فوسو صرت جاه 100
average: ss
بایرگنر :۱86۳۵۲۵
صفحه 27:
فصل سیزدهم: جعبهابزار پردازش تصویر
2۱۳-۰ فیلترهای خطی و طراحی فیلتر-دامه
لا فیلترهای آماده-مثال
SobelFilter=fspecial(‘sobel’);
[,map]=imread(‘kids.tif’);l=ind2gray(I,map); 12=filter2(SobelFilter,|);
imshow( | ); figure; imshow( 12 );
صفحه 28:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱ آنالیز و بهسازی تصویر
آنالیز و بهسازی تصویر شامل سه عملیات زیر است:
a
بدست آوردن ارزش نقاط تصوير و اعمال عملیات آماری بر روی آنها
© آنالیز تصویر بمتظور استخراج اطلاعات در مورد تساختار کلی آن
= بهسازى تصوير بمنظور واضجتر شدن_ جزييات تصوير و حذف لويز بمنظور
See ee
که در ادامه به هر یک خواهیم پرداخت
صفحه 29:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویر-دامه
لأ پدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری بر روی آنها
impixel , pixval ais
با استفاده از تابع 10016 میتوان مشخصات رنگی پیکسلهایی از تصویر را بدست آورد. این تابع
پصورتهای زیر بکار میرود:
= IMPIXEL(I)
MPIXEL(X,MAP)
IMPIXEL(RGB)
در راین حالت لین تابع پنجره تصویر را نمایان ساخته آمکان انتخاب نقاط مورد نظر را به کاربر میدهد. پس
از رفن تک کلید با دکمه سمت رانست ماوس مشحصات این تقاط در ماترپس 0 دخیره خواهد فد
البته این تابع بصورتهای دیگری نیز میتوان بکار برد که بیای کسب اطلاعات بیشتر میتوانید بد
رأهتماى متلب مراجعه كتيد
تابع 0170/21 به يايين ينجره تصوير كادرى را اضافه میکند که با حرکت ماوس بر روی تصویر مشخصات
رتكى تقاط تصویر در این کادر تمایش داده میشود. این تابع بايد بس تمايش تصوير با تابع
0 صدا زده شود.
=
صفحه 30:
فصل سیزدهم: جعبهابزار پردازش تصویر
-۱
-آنالیز و بهسازی تصویردامه
بدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری بر روی آنها-ادامه
improfile ot
این تابع تمودار تغييرات رتك تصویر را در یک مسیر دلخوله که با ماوس انتخاب میشود رسم می کند
مثال:
imshow(‘flowers.tif’);improfile;
" عل
ليلاي ۳
الا nw
AlN 5 دص
ااا <<
صفحه 31:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲-آنالیر و بهسازی تصویر-ادامه
بدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری پر روی آنها-ادامه
تابع 1۳60۳۲۵1۲: رسم نمودار تراز دادههای تصویر:
im=imread(‘ic.tif’);
imshow(im);figure;imcontour(im,3);
صفحه 32:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲-آنالیر و بهسازی تصویر-ادامه
بدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری بر روی آنها-ادامه
تابع 1۱۳۱15۴: رسم نمودار فراوانی نفاط تصویر:
|=imread(‘flowers.ti rgb2gray(1);
imshow(|);figure;imhist(1);
صفحه 33:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویر-دامه
بدست آوردن ارزش نقاط تصویر و اعمال عملیات آماری بر روی آنها-ادامه
std2 ,mean2 als
توابع ۳۹6۵۳ و ٩۳0 در متلب به ترتیب برای بدست آوردن میانگین و انحراف معیار بکار برده
میشوند اما این توایع بضورت برداری عمل میکنتد یعتی میانگین یا انحراف معیار عناصر یک
بردار را محاسبه میکنند. أكر اين توابع رذبر روى يك عاتريس اعمال كنيع مانند اکتر توابع معلب
بصورت ستونى روى عتاصر آن ماتريس عمل خواهند كرد. يعنى ميانكين يا انحراف معيار هر
ستون ماتریس را بصورت جداگانه بدست میآورند. برای آنكه بتوان ميانكين يا انحراف معيار
تمامی تفاط یک ماتریس را بدست آورد باید از توابع ۹6۵۳2 و 5102 استفاده کرد
صفحه 34:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویردامه
آنالیز تصویر:
از آنجاییکه آنالیز تصوير بيشتر بر روی تصاویر باینری انجام میگردد این مبحث به
سرفصل "عملیات بر روی تصاویر باینری " ارجاع میشود.
صفحه 35:
فصل سیزدهم: جعبهابزار پردازش تصویر
دانسا وچ رواد
بهسازى تصوير:
اين عمليات كه به عمليات بيش بردازش نيز مشهور است معمولا بيش از عمليات يردازش
اصلی یا عملیات آنالیز نصویر انجام میگیرد. در اين عملیات بهبودهایی بر روی
دادههای gyal اعمال میشود تا امکان استحراج دقیعر و عحیمتر اطلاعات میس
تاج عسیات در سل زر شرح داده se
8 تنظیم شدت
Mf متعادل کردن هیستوگرام با بهسازی تباین
a
متف و
صفحه 36:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویر-ادامه
بهسازی تصویر دامه
imadjust gt-sas bs
ا ا ۳۳
خا اه
J=imadjust(!, [low , high] , [bottom , top])
آرگومان دوم برداری دو عنصری است که بیانگر دامنه حاوی روشناییهایی از تصویر است که عملیات تنظیم
شدت بر روی آنها باید اعمال گردد. آرگومان سوم. دامنه تغییرات جدید روشنایی برای نقاط فوق است.
متال:
|=imread(‘pout.tif’);
J=imadjust(|, [0.3 , 0.7] , [0 ,1]);
subplot(2,2,1);imshow(I); subplot(2,2,2);imshow());
subplot(2,2,3); imhist(1); subplot(2,2,4); imhist(J)
صفحه 37:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویر-ادامه
بهسازی تصویر ادامه
تنظیم شدت-تابع 056ا[1030أ-ادامه
10 1
ور on
om 5
0 0
صفحه 38:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲-آنالیر و بهسازی تصویرادامه
بهسازى تصوير-ادامه
متعادل کردن هیستوگرام یا بهسازی تباین-تابع ۱5660
تابع ۱15160 بصورت اتوماتیک بهترین تنظلیم هیستوگرام را بر روی تصویر انجام میدهد و معمولا کیفیت
روشنایی تصویر رط به ميزان زيادى بهبود م ىبخشد.
iJ
l=imread(‘tire.tif’);
J=histeq(I);figure;
subplot(2,2,1);imshow(|);
subplot(2,2,2);imshow());
subplot(2,2,3);imhist(I);
subplot(2,2,4);imhist(J);
صفحه 39:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲-آنالیز و بهسازی تضویر-ادامه
بهسازی تصویر-ادامه
متعادل کردن هیستوگرام یا بهسازی تباینتابع 015060 دامه
صفحه 40:
fad سیزدهم: جعبهابزار پرد
۱۳-۱-آنالیز و بهسازی تصویر-ادامه
بهسازی تصویر ادامه
حذف نویز
متمولا تصاویر دیجیتال کم وبیش تارای نویر هستد. حدف نویر قبل از هرگونه عملیات پردارشی باید انجام
گیرد. فیلترهای متعددی برای حذف نویز طرلحی شدهاند. در متلب نیز چندین فیلتر برای حذف نویز
وجود دارد که از این میان به سادهترین آنها اشاره خواهیم کر
ا فیلتر میانگین
فیلتر میانه
برای ایجاد فیلتر میانگین از تابع fspecial « قبلا توضيح داده شد و تابع 116612 میتوان استفاده کرد
برای اعمال فیلتر میانه از تابع ۹60۴۹162 استفاده کنید. بطورکلی تمامی فیلترهای حذف نویز از
وضوح (51131811655) تصوير می کاهند. در میان دو فیلتر میانگین و میانه. فیلتر میانه معمولا
نتیجه بهتری ایجاد میکند و وضوح تصویر را نیز کمتر نحت تاثیر قرار میدهد
صفحه 41:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۱-آنالیز و بهسازی تصویرادامه
بهسازی تصویر-ادامه
حذف نویز-مثال: مقایسه فیلتر میانه و فیلتر میانگین
imread(‘eight.tif’);
J= imnoise(! , ‘Salt & pepper’ , 0.02); % 5.5 .59;41
K= filter2(fspecial(‘average’ , 3) , J) / 255; YS فیلتر
L=medfilt2(J , [3 , 3]); % فیلتر میانه
subplot(2,2,1); imshow(| ); title(‘Initial Image’)
subplot(2,2,2); imshow( J ); title('Noised Image’);
subplot(2,2,3); imshow( K ); title(‘Mean Filter’);
subplot(2,2,4); imshow( L ); title(‘Median Filter’);
صفحه 42:
fad سیزدهم: جعبهابزار پردازش ت
رسارس حبص( بر
۱۳-۱ نا
۱۳-۲-آنالید و بهسازی تصویر-ادامه
بهسازی تصویر-ادامه
حذف نویز-مثال: فیلت
نویز-مثال: مقایسه فیلتر میائه و فیلتر میانگین لدامه
صفحه 43:
fad سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری
اگرچه عملیات بر روی تصاویر بایتری زیرمجموعه مبحت آنالیز تصویر است لکن بخاطر
آهمیت تصاویر باینری در علم پردازش تصویر این مبحث را در بخش جدیدی
اتوك
همانگونه که قبلا گفته شد تصویر بایتری به تصویری گفته میشود که پیکسلهای آن
gs دارای عکی از دو مقدار ممکن ۱ با و ۲۵۵ باشند. در متلب تصاویر
باینری میتوانند بصورت تصاویر شدت و یا بصورت تصاویر اندیسشده ذخیره و
معرفی شوند. در حالت دوم ماتریس نقشه رنگ تنها دارای دو سطر خواهد بود.
صفحه 44:
فصل سیزدهم: جعبهابزار پردازش تصویر
۳-۲- عملیات بر روی تصاویر باینری
نمایش تصاویر باینری
برای تمایش تصاویر بایتری نیز از تابع ۳۹5۱6۷] استفاده میشود. درصورتیکه
تصویر از نوع شدت باشد فرم : (۳5/۱0۷۷)۲]] و اكر از نوع انديس شده باشد
فرم : imshow(! ,mMap) بکار برده خواهد شد.
صفحه 45:
فصل سیزدهم: جعبهابزار پردازش تصویر
۳-۳ - عملیات بر روی تصاویر باینری
عملیات ساختاری 006۲۵110۳05 ۷۵۲۵۲۵۱0916۵1
عملیات ساختاری به عملیاتی گفته میشود که بر روی تصاویر باینری اعمال شده و هدف از آن ایجاد تغییر
ويا تصحيح در اجزا داخل يى تصوير باينرى باشذ. اين عمليات معمولا یک مرحله قبل از ععلیات
يردازش نهايى لمنجام ميشود. منظور از عملیات پردازش نهایی عملیاتی است که در آن اطلاعاتی از
تصویر استخراج ميشود. مثلا محیط یا مساحت اجزا تصویر محاسبه میگردد.
آز میان این عملیات در ادامه چهار نوع از مهترین آنها شرح داده خواهد شد که عبارتند از
- عملیات افزایش
میات ایو
- عملیات کشودن
- عملیات بستن
صفحه 46:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری-ادامه
asst Morphological Operations .¢,bsts ole
عملیات افزایش و فرسایش(8۲05|0۳ & (Dilation
منظور از عملیات افزایش عملیاتی است که باعث افزایش ابعاد اجزا داخل تصویر به اندازه یک یا چند
پیکسل میگردد. در اث این عمل ممکن لست نقاطی که از یک تصوير باینری در اثر عواملی چون
تاثیر نویز پا اعمال حد آستانه نامطلوب جا افتاده است. تصحیح گردند. مثلا ممکن است دو جزء از
بر به یکدیگر متصل گردند. للگوریتم اعمال فیلتر افزایش بدین صورت است که تمامی نقاط سیاه
تصوير بررسی شده در صورتیکه حداقل یکی از همسایگان انتخایی نقطه مورد بررسی سفید باشند»
تقطه مزبور نیز سفید خواهد شد در غیر اینصورت سیاه باقی خواهد ماند-
عملیات فرسایش دفیقا عکس عملیات افزایش است. در این عملیات معمولا نقاط ناخواسته تصویر بایتری
حذف میشوند و سایر اجزا تصویر نیز به اندازه یک یا چند پیکسل نازکتر خواهند شد. عملا تمامی
تقاط سفید تصویر بررسی شده در صورتیکه حدافل یکی از همسایگان انتخابی آن سیاه باشته آن
نقطه تیز سیاه خواهد شد.
صفحه 47:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری-ادامه
asst Morphological Operations .¢,bsts ole
عملیات افزایش و فرسایش دامه
آپعاد همسایگی و انتخاب همسایهها توسط یک ماتریس ماسک (۷35) مشخص میشوند. مثلا اگر
ماتریس ماسک یک ماتریس ۳* ۳ باشد که تمای عناصر آن برابر با ۱ باشد. یعنی یک همسایگی
Sea es a ee ee کار وتو +
قرار گیرند.
برای عملیات افزایش در متلب از تابع 886] ۱۳001 و برای عملیات فرسایش از تابع 16۳006 استفاده
کنید. اگرچه هردو عملیات را با استفاده از تابع کلیتر 0۷۷۲۳۵۴۵۸ نیز میتوان انجام داد.
فرمول کلی استفاده از این توابع بصورت زیر است:
bw2=imerode(bw1, se);
bw2=imdilate(bw1 , se);
صفحه 48:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات
بر روی تصاویر بایتری-ادامه
عملیات ساختاری 006۲۵110۳5 ۵1ع۳10۲۵۳۵۱091-دامه
عملیات افزایش و فرسایش -متال
bwi=imread(‘circbw.tif’); SE=eye(5);
bw2=imerode(bw1 , SE);
imshow(bw1); figure; imshow(bw2);
صفحه 49:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری-ادامه
عملیات ساختاری 0۵6۳۵11005 ۳۱۵۲۵۳۵۱091]81 -دابه
عملیات گشودن و بستن Open & Close
از ت رکیپهای مختلت دو عملیات آفرایش و فرسایش میتوان ععلیات دیگری ایجاد کرد مهمترين ol
عملیات. عملیات گشودن و پستن است. در عملیات گشودن آجزایی از تصویر بایتری که از یک اندازه
تعیین شده کوچکتر باشتد حذف میقوند بدون آنکه ابعاه سایر اجزا تغییر کند. در عملیات پستن نیز
نواحی جافتاده تصویر باینری بدون تغییر در ابعاد سایر اجزا ترمیم میگردند.
عملا در صورتیکه ایتدا عملیات فرسایش و سپس افزایش بر یک تصوير باینری اعمال شود. نتيجه. عملیات
گشودن خواهد بود اما اگر ابتدا افزايش و سپس فرسایش لعمال گردد. عملیات بستن حاصل خواهد
==
در متلب برلی اعمال عملیات گشودن و بستن و همچنین سایر عملیات مورفولوژی از تابع DWMOrph
Sb ol eS Stes as aS ete
(همانگونه که در عتال بعدی عمل شده است)
صفحه 50:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری-ادامه
عملیات ساختاری 0۳06۲۵110۳5 ۳10۵۲۵۵۱09121 ادامه
عملیات گشودن و بستن 01056 6 0061-منال
bw1=imread(‘circbw.tif);
‘ones(40 , 30); bw:
bw3=imdilate(bw2 , se);
imshow(bw2); figure; imshow(bw3);
imerode(bw1 , se);
صفحه 51:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینریدامه
عملیات ساختاری 006۲۵110۳5 ۷10۲0۵۳۵۱0916۱ -دامه
immorph ab تعریف شده:
با استفاده از تایع 1۳۳۳۵۳۵۱۲ میتوان بسیاری از عملیات ساختاری معروف پردازش تصویر را اعمال نمود.
شکل کلی استفاده از این تابم بصورت زیر است:
bw2 = bwmorph(bw1 , operation , [n]);
آرگومان سوم اختیاری بوده و بیانگر ابعاد ماسک مورد استفاده یا فاکتور دیگری با توجه توع آرگومان دوم در
عملیات لست. در صورت حذف آرگومان سوم مقدار پیش فرض آن بکار برده خواهد شد. مقطر آرگومان
دوم یکی از رشتههای زیر است:
erode fill hbreak open skel remove close dilate
مفال بعدی نتیجه عملیات اسکلتون را بر روی تصویر قبلی نشان میدهد
صفحه 52:
فصل سیزدهم: جعبهابزار پردازش تصویر
۱۳-۲- عملیات بر روی تصاویر باینری-ادامه
عملیات ساختاری 006۲۵110۳05 0۲0۵۳6۵۱091]21-دامه
عملیات از پیش تعریف شده: Jie -IMMOFPH wb
bw1= imread(‘circbw.tif’); bw2= bwmorph(bw1 , ‘skel’ , inf)
imshow(bw1); figure; imshow(bw2);
صفحه 53:
فصل سیزدهم: جعبهابزار پردازش تصویر
تکلیف ۱-۱۳- تصویریبه نام 1۴ 109/6۲از نوع ۴ در دست است. لین تصویر شلمل یک گلبه ینگ قرمز
و ساقه و برگ به رنگ سبز بر روی یک زمینه آبی است. برنامهای بنویسید که :
الف - تصویر فوق را خوانده و دادههای آنرا در ماتریسی به نام 139 بریزد
ب-با استفاده از حد آستانه ۱۲۰ برای جزء سبز و حد آستانه ۱۸۰ برای جز قرمز. دو تصویر باینری بنامهای 91 و
2 ایجاد کند که در اولی تنها تصویر گل و در دومی تنها اجزاء ساقه و برگ وجود داشته باشند.
راهنمایی: برای استخراج برگها تنها استفاده از یک شرط برای حد آستانه کافی نیست. مثلا شرط:
100 < (1,:,:) 6 2(<120,:,:)] را امتحان کنید.
ج- مرز گل را در تصویر 91 استخراج کرده و در 911 بریزد.
د- تصاوير 811 و 92 رابا استفاده از عملگر پای منطقی در متلبسبا یکدیگر تلفیق نملیدتا تصویر باینری >
7
ه- مساحت برگ و ساقه و مساحت و محیط گل را از تصاوبر 91.11 و 92 بدست آورد.
و- مختصات نخستین پیکسل سفید(نسبتبه گوشه بالا-: چپ تصویر) در تصاویر ۵1 و 92 را بدست
آوود.
ز-با استفاده از دستور 626۴ و نتلیج قسمتیهای "۰" و * و"پس از نملیش تصویر مساحت و محیط هر جز را در
کنار آن نمایش دهد
صفحه 54:
فصل سیزدهم: جعبهابزار پردازش تصویر
تکلیف ۲-۱۳- تصویر یک پارچه سفید با نام 138111416
شدت(0۲3۷5616) در دست است. اي
میباشد برنامهای بنویسید که با استفاده از
و از نوع
تصوبر دارای یک طرح بافت خاص
تبدیل فوریه یک بعدی فرکانس تکرار
طرح مزبور در جهت افقی و عمودی وبا استفاده از لین فرکانسها و طول و عرض
تصويرء ابعاد طرح فوق را محاسبه کند و نمایش دهد. رزولوشن تصوير را
60000 در نظر بگیرید.
راهنمایی:بدین منظور یک سطر و یک ستون از تصویر را انتخاب و طیف فوریه آنرا
=