تشخیص و جداسازی دندان در تصاویر xray در متلب با کمک روش FCM
تشخیص و جداسازی دندان در تصاویر xray در متلب با کمک روش FCM :پروژه متلب
پروژه متلب در این پروژه تصاویر دندان ها با کمک فیلتر استو تصویر استانه گذاری شده و با روش دسته بندی فازی داده ها تصویر دسته بندی شده و پس از استخراج ویژگی های تصویر دندان جداسازی می گردد .
گاهی اوقات نیاز هست که آستانه گیری به صورت خودکار انجام شود و کاربر حد آستانه را تعیین نکند. اگر نیاز داشته باشیم که مقدار آستانهی تصویر به صورت خودکار انتخاب شود میتوان از روش Otsu استفاده کرد. در ادامهی این مقاله می خواهیم به معرفی روش آستانه گذاری otsu در پردازش تصویر بپردازیم.
پروژه متلب چه مواقعی می توان از روش آستانه گذاری otsu استفاده کرد؟
به هیستوگرام زیر دقت کنید، این هیستوگرام مربوط به یک تصویر دو حالته یا bimodal است. وقتی هیستوگرام یک تصویر دارای دو قله (peak) باشد به آن تصویر bimodal می گویند. برای آستانه گیری از این نوع تصاویر، بهترین انتخاب، مینیمم مقدار بین دو قله می باشد.
آستانه گذاری به روش otsu در پردازش تصویر
یکی از کتابخانه های معروف برای پردازش تصویر OpenCv هست که در زبان های پایتون (python) و سی پلاس پلاس (C++) می توان از آنها استفاده کرد. همچنین برای C#.net می توان از Emgu و یا Accord استفاده کرد. در ادامه با نحوه برنامه نویسی آستانهگیری به روش اتسو (otsu) آشنا خواهید شد.
آستانه گذاری خودکار به روش اتسو در سی شارپ (C#.net)
آستانه گذاری با استفاده از کتابخانه Accord
پروژه متلب اگر از کتابخانه accord در C# استفاده می کنید می توانید از دستورات زیر استفاده کنید. در ابتدا باید یک فیلتر از نوع OtsuThreshold ایجاد کنیم و سپس با استفاده از تابع ApplyInPlace فیلتر اتسو (otsu) را به عکس مورد نظر اعمال کنیم. از آنجایی که مقدار آستانه گیری (Threshold) به صورت خودکار تعیین شده است با استفاده از دستور filter.ThresholdValue میتوان مقدار آستانه را بدست آورد.
- OtsuThreshold filter = new OtsuThreshold( );
- ApplyInPlace( image );
- byte t = filter.ThresholdValue;
روش آستانه گیری با استفاده از کتابخانه Emgu
اگر از کتابخانه emgu در c# استفاده میکنید. به راحتی می توانید از دستور CvInvoke.Threshold استفاده کنید. تابع Threshold چندین مقادر ورودی میگیرد. در ادامه تمامی این پارامترها را معرفی میکنیم.
- Threshold(grayImg, binImg, 100, 255, ThresholdType.Otsu);
- مقدار اول: عکس ورودی که قرار هست عملیات آستانه گیری روی آن اجرا شود.
- مقدار دوم: عکس خروجی که نتیجه نهایی در آن ذخیره میشود.
- مقدار سوم: این مقدار را هر عددی می توانید قرار دهید و در خروجی اثری ندارد.
- مقدار چهارم: حداکثر می تواند ۲۵۵ باشد که نشان دهنده ماکزیمم رنگ در تصویر نهایی هست
- مقدار پنجم: نوع آستانه گیری را تعیین میکند.
روش آستانه گذاری otsu در پایتون با OpenCv
پروژه متلب در پایتون با استفاده از دستور cv2.threshold میتوان فیلتر آستانه گیری otsu را به تصویر مورد نظر اعمال کرد. این دستور چهار ورودی میگیرد و دو مقدار برمیگرداند که در ادامه به توضیح این موارد میپردازیم.
- ret,th = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
ورودی های تابع cv2.threshold
- ورودی اول: تصویر ورودی که عملیات آستانه گیری روی آن اجرا خواهد شد.
- مقدار دوم: این مقدار را هر عددی می توانید قرار دهید و در خروجی اثری ندارد.
- مقدار سوم: حداکثر می تواند ۲۵۵ باشد که نشان دهنده ماکزیمم رنگ در تصویر نهایی هست
- مقدار چهارم: نوع آستانه گیری را تعیین میکند.
خروجیهای تابع cv2.threshold
- خروجی اول: مقدار آستانه خودکار
- خروجی دوم: تصویر خروجی پس از اعمال فیلتر otsu
پروژه متلب تشخیص انواع بیماری های دهانی و تشخیص هویت از کاربردهای مهم تصاویر رادیوگرافی دندانپزشکی هستند. با توجه به رشد سریع تکنیک ها و ابزارهای پردازش تصاویر دیجیتال می توان با دیجیتال سازی پردازش تصاویر دندانپزشکی، روند تشخیص را تسریع و بهبود بخشید. جداسازی دندان یک گام بسیار مهم برای هر دوی این سیستم ها است، زیرا به طور مستقیم بر دقت استخراج ویژگی تاثیر می گذارد و به همین ترتیب نتایج نهایی هر دو سیستم تشخیص را نیز تحت تاثیر قرار می دهد. در این مقاله با استفاده از برازش منحنی و روش پنجره سازگار، روشی خودکار جهت جداسازی فک بالا و پایین، تفکیک دندان ها و مشخص کردن مرز هر دندان در تصاویر بایتوینگ ایجاد می کنیم. برای جداسازی دندان های موجود در یک تصویر بر روی پایگاه داده شامل ۸۰ تصویر بایتوینگ میزان شکست برابر با ۱/۳۲ درصد را بدست آوردیم. در مقام مقایسه، روش پیشنهادی نسبت به روش های قبلی عملکرد بهتری دارد. همچنین روش پیشنهادی بدون در نظر گرفتن مرحله جداسازی فک بالا و پایین قابلیت کار بر روی تصاویر پریآپیکال را نیز دارا می باشد.
تصاویر بایت وینگ نوعی از تصاویر مورد استفاده در علم دندان پزشکی هستند. امروزه با توجه به نیاز دندانپزشکان و اعمال کارهای ویژه بر روی دندان ها، استخراج و پروژه متلب جداسازی دندان های در عکس های بابت وینگ امری بدیهی است. مکانیسم تفیک فک بالایی و پایینی بر اساس طرحی به منظور جلوگیری از، از دست رفتن اطلاعات ممکن و ترکیب هایی با تنظیم زاویه برای اصلاح تصاویر اریب ارائه گردیده است. در تفکیک یک دندان واحد، یک برنامه با ایجاد پنجره (windowing scheme) را برای تعیین شیارهای شکاف بین دندانی برای بالا بردن دقت و صحت، پیشنهاد کرده ایم. در روش پیشنهادی، ابتدا با استفاده از پردازش تصویر فک ها را با استفاده از فیلترینگ جدا نموده و سپس دندانها بوسیله منحنی های جداسازی تفکیک می شوند. نتایج بدست آمده از اعمال این روش بر روی عکسهای بایت وینگ نشان دهنده بهبود کیفیت نسبت به روش های پیشین درجداسازی دندان ها می باشد.
در الگوریتم خوشه بندی فازی FCM باید تعداد و مراکز خوشه ها توسط کاربر در ابتدا مشخص شوند. کیفیت این الگوریتم بشدت به تعداد اولیه خوشه ها و مکان اولیه مراکز خوشه ها بستگی دارد. هدف از خوشه بندی فازی استخراج مدل های فازی از داده هاست. کاربردهای متعدد خوشه بندی فازی در تحلیل دادهها و تشخیص الگو و نیز زمینه های پژوهشی موجود در این زمینه از جمله استفاده از آن در حل مسائل مسیریابی، تخصیص و زمان بندی نیاز به مطالعه الگوریتم های موجود و بهبود و اصلاح آن ها را آشکارتر می نماید.
خروجی متلب :
دیدگاه ها