کتابخانه OpenCV در اندروید استودیو – راهنمای مقدماتی
اگر تاکنون موقعیتی پیش آمده باشد که بخواهید از OpenCV در اندروید استفاده کنید، شاید متوجه شده باشید که این کار چندان سر راست نیست. از این رو این راهنما را نوشتیم تا به زبانی ساده مراحل انجام این کار را توضیح دهیم. در ادامه مراحل مختلف مورد نیاز برای راهاندازی OpenCV روی اندروید استودیو را با هم مرور میکنیم.



مرحله 1: دانلود کتابخانه اندروید OpenCV
به صفحه کتابخانه اندروید OpenCV روی وبسایت Sourceforge (+) بروید و جدیدترین نسخه از این کتابخانه را برای اندروید دانلود کنید.
در زمان نگارش این نوشته، آخرین نسخه از این کتابخانه نسخه 3.4.3 است.

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

مرحله 2: تنظیم پروژه
اگر تاکنون پروژهای برای تحقیق «بینایی رایانه» خود نساختهاید، یک پروژه جدید اندروید با استفاده از IDE اندروید استودیو بسازید. دقت کنید که اگر قبلاً چنین پروژهای ساختهاید میتوانید از این مرحله عبور کنید.

مرحله 3: ایمپورت ماژول OpenCV
پس از ایجاد موفق یک پروژه اندروید نوبت آن رسیده است که ماژول OpenCV را در پروژه اندروید خود ایمپورت کنید. به این منظور از مسیر … File -> New -> Import Module استفاده کنید.
بدین ترتیب یک پنجره بازشونده مانند تصویر زیر ملاحظه میکنید که در آن میتوانید مسیری را که به ماژول میرسد و میخواهید وارد پروژه بکنید تعیین کنید.

به پوشهای که فایل فشرده کتابخانه اندروید OpenCV را باز کردهاید رفته و گزینه java را درون folder به نام sdk انتخاب کنید.

پس از انتخاب کردن مسیر صحیح میتوانید روی OK کلیک کنید و در ادامه با صفحهای مانند تصویر زیر مواجه خواهید شد.

روی Next کلیک کنید تا به صفحه بعدی بروید. در صفحه بعد، که در تصویر زیر ملاحظه میکنید، میتوانید گزینههای پیشفرض را که انتخاب شدهاند به حال خود بگذارید و با زدن Finish فرایند ایمپورت کردن ماژول را به پایان ببرید.

مرحله 4: اصلاح خطاهای Gradle Sync
در زمان اتمام فرایند ایمپورت کتابخانه OpenCV احتمالاً با برخی خطاهای Gradle build مواجه خواهید شد. دلیل وقوع این خطاها آن است که کتابخانه ما از برخی SDK-های قدیمی اندروید استفاده میکند که احتمالاً هنوز نصب نشدهاند.
برای اصلاح سریع این خطا از بخش Android به بخش Project در سمت چپ اندروید استودیو بروید.
به ماژول کتابخانه OpenCV رفته و فایل build.gradle را باز کنید.
برای اصلاح خطا کافی است compileSdkVersion و targetSdkVersion را به جدیدترین نسخه یا نسخهای که روی سیستم خود نصب کردهاید تغییر دهید. پس از تغییر دادن نسخه باید روی دکمه sync کلیک کنید تا Gradle بتواند پروژه را همگامسازی کند.
دقت کنید که buildToolsVersion نباید نادیده گرفته شود.
مرحله 5: وابستگی OpenCV را اضافه کنید
برای کار با کتابخانه اندروید OpenCV باید ماژول app خود را به عنوان یک «وابستگی» (Dependency) به پروژه اضافه کنید. برای انجام این کار در اندروید استودیو کافی است روی گزینه File -> Project Structure کلیک کنید.
زمانی که کادر محاورهای ساختار پروژه باز شد، روی ماژول app یا هر ماژول دیگری که میخواهید در کتابخانه OpenCV استفاده کنید کلیک نمایید. پس از رفتن به ماژول روی برگه Dependencies کلیک کنید. در این مرحله یک دکمه بعلاوه را مشاهده میکنید که در سمت راست کادر محاورهای قرار دارد. روی آن کلیک کرده و گزینه Module Dependency را انتخاب کنید.
زمانی که کادر محاورهای انتخاب ماژولها باز شد، ماژول کتابخانه OpenCV را انتخاب کرده و روی Ok کلیک کنید.

هنگامی که به صفحه وابستگیها بازگردید، باید تأیید کنید که ماژول واقعاً به عنوان یک وابستگی به پروژه اضافه شده و سپس با کلیک روی Ok به کار خود ادامه میدهیم.

مرحله 6: افزودن کتابخانههای بومی
در بخش مرورگر فایل به پوشهای که محتوای فایل فشرده کتابخانه اندروید OpenCV را بازکردهاید، بروید. پوشه sdk را باز کرده و سپس به پوشه native بروید. برای راهنمایی بیشتر به تصویر زیر توجه کنید.

پوشه libs را در پوشه native به پوشه اصلی ماژول app پروژه خود که معمولاً در مسیر ProjectName/app/src/main قرار دارد، کپی کنید.

نام پوشه libs را که کپی کردید به صورت jniLibs تغییر دهید.

مرحله 7: مجوزهای مورد نیاز را اضافه کنید
برای استفاده موفقیتآمیز از OpenCV، اپلیکیشن شما باید مجوز دوربین را در فایل AndroidManifest.xml خود داشته باشد. دقت کنید که در نسخههای 6 به بالای اندروید باید مجوز دوربین را در زمان اجرا نیز از کاربر درخواست کنید.
مرحله 8: بررسی کد نمونه
برای تأیید این که کتابخانه اندروید OpenCV با موفقیت در پروژه ادغام شده است میتوانید نمونه کدهایی را که در فایل فشرده کتابخانه وجود دارند را مورد بررسی قرار دهید. برای نمونه میتوانید نمونه color-blob-detection را مورد بررسی قرار دهید.
میتوانید از کد زیر استفاده کرده و اکتیویتی اصلی پروژه خود را بهروزرسانی کنید:
سپس یک کلاس جدید به نام ColorBlobDetector ایجاد کرده و کد زیر را در آن قرار دهید:
در نهایت فایل لیآوت اکتیویتی اصلی اپلیکیشن را با افزودن کد زیر بهروزرسانی کنید:
مرحله 9: استفاده از OpenCV Manager
از آنجا که شما کتابخانههای بومی را در APK اپلیکیشن خود قرار دادهاید در نهایت با یک اپلیکیشن با اندازه بسیار بزرگ مواجه خواهد بود. یک راه برای حل این مشکل استفاده از افزار (ABI (ABI splits است که در این حالت تنها کتابخانههای ضروری برای هر دستگاه در APK قرار میگیرند.
روش دیگر در مورد حل مشکل اندازه بزرگ اپلیکیشن نرمافزار OpenCV Manager است. در پوشهای که محتوای کتابخانه را از حالت فشرده خارج کردهاید، پوشهای به نام apk وجود دارد که حاوی نرمافزار OpenCV Manager برای معماریهای متفاوت است.

APK دارای معماری متناسب دستگاه تست خود را انتخاب کرده و با استفاده از ADB از طریق خط فرمان، آن را روی دستگاه نصب کنید.
مرحله 10: تست کردن اپلیکیشن
در نهایت باید دکمه اجرا را بزنید و اپلیکیشن را روی دستگاه تست اجرا نمایید. دقت کنید که روی نسخههای 6 به بالای اندروید باید مجوز دوربین را به اپلیکیشن بدهید.

اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای پردازش تصویر و پردازش سیگنال
- آموزش پروژه محور پردازش تصویر با OpenCV در ++C – تشخیص چهره
- مجموعه آموزش های پروژه محور برنامه نویسی
- آموزش تبدیل تصاویر با عملگرهای ریخت شناسی در OpenCV
- برنامه نویسی موبایل با اندروید استودیو
- ۵ گام ضروری برای یادگیری برنامهنویسی اندروید — راهنمای جامع
==





















سلام لایبراری opencv برایb4aوجود داره ایا میتئاند پردازش تصویر انجام دهد اموزش مربوطه را قرار بدین یا ی منبع خوب معرفی کنید