آموزش نصب OpenCV روی رزبری پای با CMake (در 2 روش)

سلام. آموزش نصب OpenCV روی رزبری پای با CMake را آماده کردیم.
نحوه نصب open cv روی برد رزبری پای
در اوایل بوجوود آمدن رایانه ها، ورودی آن ها ماوس و صفحه کلید بود و اکنون حتی قادر به پردازش فیلم و تصویر نیز هستند. توانایی یک کامپیوتر در استخراج، تجزیه و تحلیل و درک اطلاعات از یک تصویر Computer Vision یا به اختصار CV گفته میشود. در سالهای اخیر توانایی بینایی رایانه به اندازه زیادی پیشرفت کرده است. امروزه کامپیوتر ها نه تنهای میتوانند افراد و اشیا را تشخیص دهند بلکه میتوانند ماهیت و حس آن ها را نیز درک کنند. همه اینها به دلیل پیشرفت در زمینه هوش مصنوعی و یادگیری عمیق امکان پذیر شده است که با الگوریتمی از تصاویر مشابه آموزش دیده اند. امروزه توانایی پردازش تصویر به اندازه ای پیشرفت کرده است که به شیوه ای قابل اعتماد برای استفاده از پورتال های امنیتی، مالی و … استفاده میشود.
رایج ترین کتابخانه مورد استفاده برای بینایی کامپیوتر های همان Computer Vision، کتابخانه OpenCV است. این یک کتابخانه متن باز (Open Source) است که میتواند در هر سیستم عاملی مثل ویندوز، لینوکس و مک کار کند. نصب OpenCV بر روی Pi یک فرایند صخت است ، به دلیل اینکه بسیار وقت گیر است و احتمال خطا زیاد است. بنابراین ما سعی کردیم این آموزش را تا حد امکان ساده پیش ببریم.
چند پروژه سایت در مورد OpenCV و رزبری پای را مشاهده کنید :
- تشخیص فاصله اجتماعی با رزبری پای و OpenCV
- سیستم هشدار خواب آلودگی راننده با رزبری پای و OpenCV
- تشخیص حرکت دوربین مدار بسته با رزبری پای (هشدار و OpenCV)
- تشخیص چشم، فک، دهان با OpenCV و رزبری پای
- آموزش ساخت اسکنر کد QR با رزبری پای و OpenCV
آموزش نصب OpenCV در Raspberry PI با Pip
قبل از شروع ، فرض می کنم شما قبلاً جدیدترین سیستم عامل را در Raspberry PI خود نصب کرده اید و از طریق SSH به آن دسترسی دارید.
همانطور که همه ما می دانیم پایتون دارای مدیر بسته (package manager) به نام pip است که می تواند برای اضافه کردن کتابخانه های پایتون به راحتی مورد استفاده قرار گیرد. بله ، همچنین راهی برای استفاده از PIP برای نصب OpenCV در عرض چند دقیقه روی Pi وجود دارد ، اما متأسفانه این کار برای من و همچنین بسیاری افراد دیگر نیز کار نکرد. همچنین نصب از طریق پیپ امکان کنترل کامل بر کتابخانه OpenCV را به ما نمی دهد ، اما اگر به دنبال سریعترین راه هستید، آن را امتحان کنید.
اطمینان حاصل کنید که پیپ روی pi شما نصب شده است و به آخرین نسخه به روز شده است. سپس دستورات زیر را یک به یک در ترمینال خود وارد کنید
sudo apt-get install libhdf5-dev libhdf5-serial-dev sudo apt-get install libqtwebkit4 libqt4-test sudo pip install opencv-contrib-python
در صورت موفقیت در این مرحله باید OpenCV را بر روی Pi خود نصب کنید ، در صورت موفقیت در این مرحله می توانید به مرحله 13 بروید تا بررسی کنید آیا OpenCV به صورت صحیح با پایتون نصب شده است یا خیر. در غیر این صورت ، نفس عمیق بکشید و آموزش زیر را شروع کنید.
نصب OpenCV 4 در رزبری پای با استفاده از CMake
در این روش بسته منبع OpenCV را بارگیری می کنیم و با استفاده از CMake آن را در Raspberry Pi کامپایل می کنیم. برخی افراد تمایل دارند OpenCV را روی محیط مجازی نصب کنند تا بتوانند از نسخه های مختلف پایتون یا OpenCV در همان دستگاه استفاده کنند. اما من از آن جایی که می خواهم این مقاله را کوتاه نگه دارم ، ساده ترین راه را توضیح خواهم داد.
مرحله 1: قبل از شروع کار اطمینان حاصل خواهیم کرد که سیستم به نسخه جدید به روز شده است ، برای این کار دستور زیر را وارد کنید.
sudo apt-get update && sudo apt-get upgrade
در صورت وجود نسخه جدیدتر باید آخرین بسته ها را بارگیری کرده و آن را نصب کنید. این روند 15-20 دقیقه طول خواهد کشید بنابراین منتظر بمانید.
مرحله 2: در مرحله بعد باید بسته apt-get را بروزرسانی کنیم تا بتوانیم در مرحله بعدی CMake را بارگیری کنیم.
sudo apt-get update
مرحله 3: پس از به روزرسانی نرم افزار apt-get ، می توانیم بسته CMake را با استفاده از دستور زیر بارگیری و نصب کنیم.
sudo apt-get install build-essential cmake unzip pkg-config
صفحه شما هنگام نصب CMake مانند صفحه زیر شبیه به این است.
مرحله 4: سپس هدر های توسعه پایتون 3 را با استفاده از دستور زیر نصب کنید.
sudo apt-get install python3-dev
چیزی شبیه به این را نشان می دهد.
مرحله 5: مرحله بعدی بارگیری فایل Zip OpenCV از GitHub خواهد بود. برای انجام این کار از دستور زیر استفاده کنید.
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0.zip
همانطور که می بینید در حال بارگیری نسخه 4.0.0 هستیم.
مرحله 6: OpenCV دارای بسته های از پیش ساخته شده به نام OpenCV contrib برای پایتون است که به ما در توسعه چیزهای آسان تر کمک می کند. بنابراین بیایید با استفاده از یک دستور مشابه که در زیر نشان داده شده است ، آن را بارگیری کنیم.
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
در این مرحله شما باید دو فایل zip را با نام های “opencv-4.0.0” و “opencv -rib-4.0.0” در Home Directory خود بارگیری کرده باشید. اگر می خواهید مطمئن باشید می توانید آن را چک کنید.
مرحله 7: با استفاده از دستور زیر فایل فشرده opencv-4.0.0 را از حالت فشرده خارج میکنیم.
unzip opencv.zip
مرحله 8: با استفاده از خط فرمان opencv_contrib-4.0.0 را استخراج کنید.
unzip opencv_contrib.zip
مرحله 9: OpenCV برای کار به numpy احتیاج دارد. بنابراین بگذارید آن را با استفاده از دستور زیر نصب کنیم.
pip install numpy
مرحله 10: اکنون ، دو دایرکتوری به نام های “opencv-4.0.0” و “opencv_contrib-4.0.0” در home directory خود داریم. مرحله بعدی تهیه کتابخانه Opencv خواهد بود ، برای انجام این کار نیاز به ایجاد یک directory جدید به نام “build” در داخل دایرکتوری Opencv-4.0.0 داریم. برای انجام همین کار ، دستورات زیر را دنبال کنید.
cd~/opencv mkdir build cd build
مرحله 11: اکنون ، ما باید CMake را برای OpenCV اجرا کنیم. این جا جایی است که می توانیم نحوه تهیه OpenCV را پیکربندی کنیم. اطمینان حاصل کنید که در مسیر “~ / opencv-4.0.0 / build” قرار دارید. سپس خطوط زیر و قبلی را در پنجره ترمینال کپی کنید.
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.0.0/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D WITH_TBB=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF ..
باید بدون هیچگونه خطایی پیکربندی شده باشد و متن “Configuring done” و “Generating done” را مانند شکل زیر مشاهده کنید.
اگر در این فرآیند خطایی رخ داد، اطمینان حاصل کنید که در مسیر صحیح تایپ کرده اید و دو دایرکتوری به نام های “opencv-4.0.0” و “opencv_contrib-4.0.0” در مسیر home directory دارید.
مرحله 12: این طولانی ترین مرحله است. دوباره مطمئن شوید که در مسیر “~ / opencv-4.0.0 / build” قرار دارید و از دستور زیر برای کامپایل OpenCV استفاده کنید.
Make –j4
با شروع می توان پیشرفت عملیات را در درصد مشاهده کنید. این روند حدود 3-4 ساعت طول می کشد و اگر کاملاً ساخته شود باید صفحه ای مانند تصویر بالا مشاهده کنید. دستور “make –j4” از هر چهار هسته برای کامپایل OpenCV استفاده می کند.
برای من حتی بعد از یک ساعت انتظار کار نکرد و بنابراین مجبور شدم روند کار را متوقف کنم و دوباره آن را با استفاده از "make -j1"
انجام دهم و کار کرد. استفاده از make -j1
فقط از هسته اصلی پی استفاده می کند و مدت زمان بیشتری نسبت به j4 طول می کشد ، بنابراین توصیه می شود از j4 استفاده شود و سپس از ساخت j1 استفاده شود زیرا بیشتر ترکیبات با j4 انجام می شوند.
مرحله 13: اگر به این مرحله رسیدید ، یعنی 99% روند را طی کرده اید. مرحله آخر نصب libopecv با استفاده از دستور زیر خواهد بود.
sudo apt-get install libopencv-dev python-opencv
مرحله 14: در آخر می توانید با اجرای یک اسکریپت ساده پایتون ، این کتابخانه را بررسی کنید. پایتون را تایپ کرده و cv2 import
را مانند شکل زیر امتحان کنید. هنگام انجام این کار نباید خطایی دریافت کنید.
اگر این صفحه را بدست آورید ، می توانید پروژه دلخواه خود با OpenCV را انجام دهید. امیدوارم این مقاله بتواند در نصب OpenCV روی Raspberry Pi به شما کمک کند ، در صورت بروز هرگونه مشکلی ، آنها را در بخش نظرات اعلام کنید و من تمام تلاش خود را برای رفع آن خواهم کرد. همچنین می توانید برای سؤالات فنی بیشتر از انجمن های ما استفاده کنید
سلام و درود . من یه بار از روی اموزش دیگه نصب کردم . الان cv.imshow و cv.waitKey خطا میدن . میشه راهنمایی کنید
چند بار خواستم حذف کنم opencv رو ولی نشد
سلام خسته نباشید ببخشید من تا مرحله 11 رو رفتم بعد که میخواهم از cmake استفاده کنم میگه همچین کامندی رو نمیتوانم پیدا کنم به نظر شما مشکلش چیه
سلام.وقت شما بخیر.در مرحله 11 بین متن ارائه شده از طرف شما و عکس تفاوت در دستور وجود داره.ضمن اینکه هر دو دستور رو وقتی وارد می کنیم باز هم پیام موفقیت آمیزی نمی ده و با ارور:
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
CMake Error: The source directory “/home/pi/opencv-4.0.0/build” does not appear to contain CMakeLists.txt.
همراه می شه.
سلام همه مراحل تا مرحله 10 به درستی پیش می رود اما با نوشتن دستور cd~/opencv
ارور می دهد که هیچ فایل یا دیرکتوری وجود ندارد. این درحالی است که فایل های مربوط به opencv در پوشه home قرار دارد.
راهکار شما چیست
با تشکر
cd opencv-4.0.0 این دستور رو باید وارد کنید