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

یکی از الگوریتم های پرکاربرد در پردازش تصویر کلاس بندی تصویر می باشد که با آن می توان مسائل مختلف را حل نمود. در این مقاله برنامه نویسی کلاس بندی میوه ها را با استفاده از نرم افزار پردازش تصویر هالکن به شما آموزش خواهیم داد. برای پیاده سازی کلاس بندی میوه ها از نرم افزار پردازش تصویر HALCON استفاده شده است این نرم افزار بهترین نرم افزار بینایی ماشین و پردازش تصویر ساخت یک شرکت تخصصی پردازش تصویر در آلمان است که می توانید آن را به صورت رایگان دانلود و نصب نمایید.

برای ثبت نام در “دوره ی آموزشی بینایی ماشین با نرم افزار هالکن ” اینجا کلیک کنید.

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

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


    کلاس بندی میوه ها

     

    آموزش برنامه نویسی پردازش تصویر جهت کلاس بندی

    برای کلاس بندی لیمو و پرتقال نیاز است تا چهار مرحله ی زیر را طی نمایید:

    1- خواندن و نمایش تصاویر
    در این مرحله تصاویر از مسیر مورد نظر خوانده شده و در نرم افزار نمایش داده می شود.

    عکس میوها برای پردزاش تصویر

    2-پیدا کردن میوه ها 
    در این مرحله ناحیه ی هر میوه استخراج می گردد .

    پیدا کردن میوه با پردازش تصویر

    3- استخراج ویژگی میوه ها
    با استفاده از نتایج مرحله ی قبل (ناحیه ی هر میوه) میزان دایره بودن میوه ها محاسبه می گردد و درصد دایره بودن روی هر یک از میوه ها نوشته می شود.

    استخراج ویژگی میوه ها با پردازش تصویر

    4-کلاس بندی بر مبنای دایره بودن
    در این مرحله با توجه به میزان دایره بودن (بدست آمده در مرحله ی قبل) کلاس مورد نظر انتخاب می گردد.

    کلاس بندی میوه ها

    خواندن و نمایش تصویر در نرم افزار پردازش تصویر

    برای شروع برنامه ی پردازش تصویر نیاز است تصاویر مورد نظر خود را به برنامه وارد کنیم. مطابق شکل تعدادی تصویر در پوشه ی Image موجود است. برای خواندن تصاویر از کد read_image استفاده می شود. با اجرای این کد تصویر از مسیر مورد نظر خوانده شده و به برنامه ی HALCON (با نام Image) وارد می شود. تعداد 14 تصویر در این پوشه وجود دارد. از این رو حلقه ی for در برنامه 14 بار اجرا می شود.  با هر بار اجرا عکس مطابق با Index حلقه for از مسیر پوشه ی Image خوانده می شود. بعد از خواندن تصویر برای نمایش آن در پنجره از کد dev_display استفاده می گردد.

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

    پیدا کردن میوه ها

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

    find_fruits (Image, fruits)

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

    1- ابتدا کانال قرمز عکس را انتخاب می کنیم.

    2- با استفاده از روش آستانه گذاری میوه ها را پیدا می کنیم.

    3- با استفاده از عملیات مورفولوژی داخل میوه ها را پر میکنیم.

    4- مرز ناحیه های بدست آمده را روی تصویر نمایش می دهیم.

    در تصویر زیر روال پیدا کردن میوه ها نمایش داده شده است.

    الگوریتم پردازش تصویر برای کلاس بندی میوه ها

    آموزش محاسبه ی ویژگی ها در برنامه پردازش تصویر

    در مرحله ی قبل ناحیه ی مربوط به تک تک میوه ها استخراج شدند. در این مرحله ی تابع fruits_circularity برای برای محاسبه میزان دایره بودن هر یک از میوه ها  نوشته شده است. این تابع ناحیه ی میوه ها (خروجی مرحله ی قبل) را به عنوان ورودی می گیرد. سپس برای هر یک از میوه ها میزان دایره بودن آن را بر حسب درصد محاسبه می کند(100 درصد به مفهوم دایره بودن کامل است). و آن را روی عکس می نویسد. همانطور که در تصاویر زیر می بینید. میزان دایره بودن میوه ی پرتقال عموما بیش از 90 درصد است. در حالی که میزان دایره بودن لیمو کمتر از 70 درصد می باشد.

    کلاس بنید ویژگی های پرتقال و لیمو بر حسب درصد

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

    در این مرحله کلاس بندی میوه ها انجام می گردد. این کار با استفاده از تابع classify_fruits انجام می گردد. این تابع ناحیه ی مربوط به میوه ها را گرفته و اسم کلاس مربوط به آنها را روی عکس می نویسد.

    classify_fruits (fruits)

    تابع classify_fruits بر مبنای ویژگی دایره بودن یکی از کلاس های لیمو یا پرتقال را به میوه ها نسبت میدهد. چنانچه میزان دایره بودن عددی بین 80 تا 100 درصد باشد میوه را به کلاس پرتقال و در صورتی که این عدد کمتر از 80 درصد باشد میوه را به کلاس لیمو تخصیص می دهد.

    کلاس بندی پرتقال و لیمو با پردازش تصویر

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

     

    کلاس بندی پرتقال و لیمو با پردازش تصویر

     

    میتوانید برای انجام پروژه های خود از متخصصان ما مشاوره بگیرید.

    مطالب مرتبط

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

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