Distance Transform در پردازش تصویر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

Distance Transform در پردازش تصویر

+1 امتیاز
سلام. عملکرد Distance transform به چه صورت محاسبه میشه و تو کجاها میشه از آن استفاده کنیم یعنی با یک مثال به من نشون بدید. ممنونم
سوال شده بهمن 30, 1392  بوسیله ی ملک پور (امتیاز 145)   8 27 33

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
همانطوری که از اسمش پیداست این تبدیل برپایه distance های مختلف مثل euclidean ، Manhattan و غیره .. می تونید اعمالش کنید که البته رایج ترین همون euclidean که باز هم انتخاب distane مربوطه بر می گردد به فیلدی که می خاین توش از این Transform استفاده کنید. به فرض مثال شما یه blob دارید که شکل نا منظمی داره و میخاید مرکزی ترین نقطه این blob رو پیدا کنید یا مقدار intensity ها تو اون نقطه یا نقاط همسایگیش تقویت شه به فرض مثال شما یک دایره رو تصور کنید ضمانی که روش distance transform رو اعمال می کنید نقاط میانی دایره دارای Intensity بالاتر و نقاط پایینی intensity کمتری دارند در تجسم 3 بعدیش به صورت یک مخروط دیده میشه. از جمله کاربردهای اصلی تو بخش segmentation و الگوریتم watershed هستش. الگوریتمش هم عملکردش بدین صورته که به فرض blob تون دارای Intensity غیر صفر و background تون هم مقدار صفر داره.الگوریتم اول تصویر رو از راست به چپ و در گذر بعدی جهت اصلاح مقادیر distance تصویر رو از چپ به راست پیمایش می کنه. برای شروع بایستی مختصات یک نقطه از Blob رو برای شروع بهش بدید که با background تون neighbor باشه intensity جدید این مختصات در تصویر نهایی برابر با فاصله اش با نزدیک ترین مختصات background که باز هم اندازه این فاصله برمی گرده به نوع distance ی که انتخاب کردید این نقطه در تصویر اصلی تون از مقدار غیر صفر به مقدار صفر تبدیل میشه و مقدار distance بدست آمده رو در مختصات تصویر نهایی جایگزین می کنیم . لازم به ذکر که در ابتدا تصویر نهایی رو با intensity صفر fill می کنیم
پاسخ داده شده بهمن 30, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اسفند 1, 1392 بوسیله ی BlueBlade
عملکرد distance transform بر روی ماسک باینری
...