آستانه جهانی بهینه با استفاده از روش Otsu 

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

روش آستانه گذاری اوتسو در پروژه متلب

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

نمایش سطوح تصویر

  1. اجازه دهید {0، 1، 2، 3،…،L-1 } سطوح شدت L متمایز پیکسل ها را در یک تصویر M x N نشان دهد.

 

  1. اجازه دهید ni تعداد پیکسل های با شدت سطح i را نشان دهد. تعداد کل پیکسل های تصویر M_N = n_o + n_1 + …. + n_{L-1}.

 

  1. هیستوگرام نرمال شده تصویر دارای مولفه هایی به عنوان احتمال وقوع یک سطح شدت i به شرح زیر است:
  1. واضح است که باید داشته باشیم:
  1. اجازه دهید یک آستانه T = k انتخاب کنیم، جایی که 0 < K < L-1 با استفاده از این آستانه T، تصویر را به دو کلاس جداگانه C1 و C2 تقسیم می کنیم.

 

C1 از تمام پیکسل هایی با مقادیر شدت در محدوده [0, k] تشکیل شده است.

C2 از پیکسل هایی با مقادیر شدت در محدوده  [k+1, L-1] تشکیل شده است.

  1. احتمال تعلق یک پیکسل به کلاس C1 P1(k)به صورت زیر داده می شود:

اگر k = 0 داشته باشیم، احتمال اینکه کلاس C1 هر پیکسلی داشته باشد، اساساً صفر است.

 

  1. به طور مشابه، احتمال کلاس C2 :

 

  1. حال، میانگین سطح شدت پیکسل های متعلق به کلاس C1 است:

در اینجا، P(i|C1) احتمال وقوع مقدار شدت است با توجه به اینکه کلاس C1 است.

 

قضیه بای

  1. با استفاده از قضیه بای در ساده سازی فوق به دست می آوریم:

در اینجا، P(C1|i) احتمال کلاس C1 است با توجه به اینکه سطح شدت i است. این بدیهی است که 1 است، زیرا ما فقط با مقادیر شدت از کلاس C1 سر و کار داریم.

 

 P(i) احتمال مقدار ith شدت است که pi است

 P(C1) احتمال کلاس C1 است که همانطور که در بالا محاسبه شد برابر با  P1(k)است.

  1. تشابه، با حمل همان آرگومان ها برای کلاس C2، میانگین سطح شدت پیکسل های کلاس C2 برابر است با:
  2. میانگین تجمعی، یعنی شدت متوسط، تا سطح k به صورت زیر تعریف می شود:

 

  1. شدت متوسط ​​(میانگین جهانی) کل تصویر فقط در تمام سطوح از 0 تا L-1 جمع می شود، یعنی:

13.از این تعاریف به راحتی می توان دریافت که:    و 

 

محاسبه واریانس جهانی:

  1. اکنون، واریانس جهانی را داریم:

و واریانس بین کلاس به صورت زیر تعریف می شود:

  1. این را می توان به صورت زیر نیز نوشت:
  2. سپس، یک شکل شایستگی را تعریف می کنیم:
  3. به گفته اوتسو، آستانه بهینه k=k آن چیزی است که حداکثر می شود:  و 
  1. اگر حداکثر برای بیش از یک مقدار k وجود داشته باشد، مرسوم است که میانگین مقادیر مختلف ماکزیمم را گرفته و به k’ اختصاص دهیم. هنگامی که k’ داشته باشیم، می توانیم مستقیماً تصویر f(x,y) را به صورت زیر تقسیم کنیم: g(x,y) = 1 اگر f(x,y)>k’ و g(x,y) = 0 اگر f (x,y)≤k’

 

الگوریتم روش اوتسو

هیستوگرام نرمال شده تصویر ورودی را محاسبه کنید. اجزای هیستوگرام را با pi نشان دهید.

مجموع تجمعی  P1(k)را محاسبه کنید.

میانگین تجمعی  m(k)را محاسبه کنید.

میانگین شدت جهانی m G را محاسبه کنید .

واریانس بین کلاس  σ B 2 (k)را محاسبه کنید.

آستانه بهینه  k’که واریانس بین طبقات حداکثر است را با تکرار بیش از مقادیر k بدست آورید. اگر بیش از یک حداکثر وجود دارد،  k’را با میانگین گیری بیش از این مقادیر بدست آورید.

تصویر را با استفاده از آستانه  k’به صورت g(x,y) = 1 اگر f(x,y)>k’ و g(x,y) = 0 اگر  f(x,y)≤k’تقسیم کنید.

پیاده سازی

در زیر یک انجام پروژه متلب داریم که برای پیاده سازی رویکرد فوق آمده است:

 Matlab program to perform Otsu’s thresholding%

;image=(imread(“GFG.jpg”))

;figure(1)

;imshow(image)

;image1=rgb2gray(image)

;[counts,x] = imhist(image1,16)

;thresh= otsuthresh(counts)

;otsu=imbinarize(image1,thresh)

;figure(2)

;imshow(otsu)

ورودی:

 

خروجی:

 

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید

3 × 2 =