یافتن چراغ در تصویرعنبیه - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

یافتن چراغ در تصویرعنبیه

+1 امتیاز

سلام. من یک تصویر از عنبیه دارم .یکی از کارهای اولیه ای که باید انجام بدم پیدا کردن محل چراغ هاست .شما چه راهی پیشنهاد میدید؟ من قصد دارم چراغ هایی را که داخل تصویر مردمک ایجاد شده را حذف کنم.این تصویر با دوربین near IR گرفته شده و اون چراغ های داخل مردمک نمایان گر نور IR تابیده شده داخل جشم است باید اول موقعیت این نور را پیدا کنم البته اگر دقت کنید می بینید که لکه های نور زیادی در تصویر دیده میشه.

اینم تصویر عنبیه



 

تشکر فراوان

سوال شده آذر 22, 1392  بوسیله ی مریم اکرمی (امتیاز 482)   25 55 66
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade

2 پاسخ

+1 امتیاز
 
بهترین پاسخ
خوب روش که زیاده اما اگر این نورها با بقیه تصویرتون انقدر کنتراست خوبی داشته باشه مثل این تصویر با روشهای دودویی کردن خیلی ساده میشه آونها رو پیدا کنین!

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

روشهایی مثل MSER هم خوبه. maximally stable extremal regions که تو opencv هم پیاده سازیش هس.

 

همچنین میشه اول بزرگترین ناجیه سیاهو پیدا کرد (با روش آستانه گیری) که همون مردمک چشمه و بعد نواحی سفید داخلش میشه همین نورها.

یا میشه اول با روشی مثل تبدیل هاف برای دایره بزرگترین شکل دایره رو پیداکرد. (همون مردمک) و بعد این ناحیه رو آستانه گیری کنی و نورها رو راحت پیداکنی.

اما این تصویر خیلی راحتر از اینه خودتو درگیر این روشها کنی. همون آستانه گیری جواب میده.
پاسخ داده شده آذر 23, 1392 بوسیله ی mahdi (امتیاز 392)   7
انتخاب شد دی 21, 1392 بوسیله ی BlueBlade
+2 امتیاز
به نظر من چون چراغ ها انعکاسشون به صورت مستقیم رو مردمک هستش و از ظرفی بقیه نورها به این شدت نیستند ماکزیمم شدت نور را بدست بیارید و آستانه تون رو به صورت image > max -tolr قرار بدید که tolr می تونه بین 30 تا 50 متغیر باشه.

 درمرحله بعد بیایید توان تصویر(magnidtude) را محاسبه کنید چون لبه ها نور کاملاً شارپ هستند و در تصویر magnitude خوب خودشونو نشون میدن .

حالا با ترکیب این 2 تصویر ماسک بسازید.

بعد از اون بیادید یک عملیات Opening انجام بدید البته با کرنل دایره تا ریخت نور به یک blob دایره ای تبدیل بشه.

حالا در مرحله بعدی با 2 تا شرط می تونید از صحت چراغ بودن هر blob مطمئن بشید

شرط اول اینکه bounding box مربوط به این چراغ تو محدوده مشخصی قرار داره یعنی چک کردن ابعاد blob

شرط دوم هم blob هدف باید دایره ای باشه blob جاری را با یک ماسک دایره ای xor کنید

حال مجموع این اختلاف را به مساحت درصد بگیرد هر چقدر به صفر نزدیک تر باشید blob جاری به دایره نزدیک تر هستش.

موفق باشید
پاسخ داده شده آذر 23, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...