اپلیکیشن حاضر یک اپلیکیشن تشخیص دهنده چهره انسان, جنسیت و سن میباشد. برای نوشتن این اپ از کتابخانه opencv استفاده شده است. هنگامی که اپلیکیشن اجرا میشود صفحه منو اصلی باز میشود و داخل آن سه گزینه میباشد:
- تشخیص دهنده جنسیت ( Gender recognition)
- تشخیص دهنده سن (Age recognition)
- تشخیص دهنده چهره انسان در تصویر (Face recognition)
هنگامی که اپ را از ریپازیتوری اصلی آن به آدرس: https://github.com/alensali/WreckFaceApp/issues کلون کنید و با استفاده از اندروید استودیو آن را در گوشی خود نصب کنید, متوجه میشوید این اپلیکیشن پیش از نشان دادن منو اصلی و باز شدن آن, errorی نشان میدهد و از شما میخواهدpackage manger مورد نیاز opencv را نصب کنید. پس از آن از برنامه بیرون میآید. این اولین issue و مهمترین مساله برنامه بود که سعی در حل شدن آن کردیم. با استفاده از log ها و جستجو دریافتیم که تعدادی از فایل های مورد نیاز برنامه به درستی فراخوانی نشده اند و کتابخانه opencv نیز درست load نمیشود و چون برنامه نمیتواند این کتابخانه را به درستی load کند به دنبال پکیج منیجر آن در دستگاه اندرویدی میگردد.
پس فایل های مورد نیاز برنامه را در کنار آن قرار دادیم تا اپلیکیشن به درستی بتواند کتابخانه را load کند. و در نتیجه مساله ای که در قسمت issues ریپازیتوری اصلی مطرح شده بود حل میشود.
با قرار دادن این فایل ها منو برنامه اجرا میشود. در بین سه گزینه موجود در منوی اصلی, گزینه تشخیص چهره (گزینه آخر) به درستی کار میکند و شما میتوانید با انتخاب آن و ورود به صفحه دوربین دستگاه, از این قابلیت برنامه استفاده کنید. در واقع برنامه به درستی چهره های موجود در تصویر را تشخیص میدهد. همچنین بهوسیله گزینه capture میتوانید ۲۵ عکس از چهره های مختلف بگیرید تا با انتخاب گزینه train, برنامه چهره ها را یاد گرفته و سپس با انتخاب گزینه recognize بگوید چهره داخل تصویر به کدام چهره از تصاویر آموخته شده شبیه تر است. اما درباره دو کارکرد دیگر برنامه باید گفت به دلیل فراخوانی نادرست کتابخانهها, برنامه به محض انتخاب گزینههای اول و دوم موجود در منو اصلی کرش میکند و بیرون میآید. هنوز نتوانسته ایم راه حلی دقیق برای حل این مشکل پیدا کنیم.( البته این مسئله جزء issue هایی بود که خودمان دریافتیم و داخل issues ریپازیتوری اصلی نبود!)