Mohsen Khoshnazar Homepage

Mohsen Khoshnazar Homepage
سلام به همه.
سعی می کنم تجربیات خودم رو در این وبلاگ قرار بدم تا دیگر علاقه مندان نیز بتوانند از آنها استفاده کنند.
موفق باشید:)

Telegram Channel: mohsenteq
Instagram: mohsenteq
Site: www.mteq.ir
دنبال کنندگان ۱ نفر
این وبلاگ را دنبال کنید
آخرین نظرات
پنجشنبه, ۱۶ ارديبهشت ۱۳۹۵، ۱۲:۱۶ ب.ظ

نصب OpenCV 3.0.0 بر روی Raspbian

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

   نصب openCV بر روی سیستم عامل Raspbian، شامل مراحل زیادی است و به تبع آن وقت زیادی (در حدود چندین ساعت) می خواهد. حتماً از کارت حافظه ای با حجم بیشتر از 8GB استفاده کنید (ترجیحاً 32GB). همچنین OpenCV را بر روی Python 2.7 نصب خواهیم کرد.

مرحله اول: نصب پکیج ها و کتابخانه های ضروری

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

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

   توجه کنید در صورتی که در هنگام اجرای دستور sudo rpi-update به مشکل بر خورد کردید آن را به sudo UPDATE_SELF=0 rpi-update تغییر دهید. سپس یک بار برد را Reboot کنید تا تغییرات جدید اعمال شوند.

sudo reboot

   اکنون برخی از ابزارهای توسعه دهنده را نصب می کنیم:

sudo apt-get install build-essential git cmake pkg-config

   حال کتابخانه های مربوط به بارگذاری عکس با فرمت های مختلف را نصب می کنیم:

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

   همچنین کتابخانه هایی برای بار گذاری ویدئو:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

   دستور زیر کتابخانه های مربوط به کامپایل کردن ماژول های openCV را بر روی برد نصب می کند:

sudo apt-get install libgtk2.0-dev

   عملگرهای دیگر نظیر عملگرهای ماتریسی با دستور زیر دانلود و نصب خواهند شد:

sudo apt-get install libatlas-base-dev gfortran

   حال نوبت به نصب Python 2.7 می رسد:

sudo apt-get install python2.7-dev python3-dev

   تا اینجا پکیج ها و کتابخانه های اولیه را دانلود و نصب کردیم. در مرحله بعدی قصد داریم کدهای مربوط به Open cv را دانلود و نصب نماییم.

مرحلع دوم: دریافت کدهای سورس مربوط به OpenCV

   در این قسمت کدهای سورس مربوط به OpenCV ورژن 3.0.0 را دانلود می کنیم:

cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.0.0.zip
unzip opencv.zip

   برای آنکه OpenCV به طور کامل و با تمام ملزوماتش نصب شود لازم است فایل opencv_contrib هم دانلود کنیم. این فایل شامل امکانات SIFT و SURF است:

 wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.0.0.zip
unzip opencv_contrib.zip

مرحله سوم: نصب Python

   در این مرحله پکیج های مربوط به opencv را برای Python دانلود و نصب می کنیم:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

   برخی اوقات ممکن است از ورژن های مختلف Python و با پکیج های متفاوت استفاده نمایید. virtualenv و virtualenvwrapper مشکل متفاوت بودن کدهای برنامه های نوشته شده با ورژن های مختلف را بر طراف خواهد کرد:

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pi

   اکنون لازم است فایل profile./~ را آپدیت کنیم:

nano .profile

   در پنجره باز شده و در آخر فایل (پایین آخزین خط نوشته شده)، عبارات زیر را وارد کنید:

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenv
source /usr/local/bin/virtualenvwrapper.sh

   سپس کلید ctrl+x را فشرده و بعد از آن کلید y را به منظور ذخیره کردن فایل فشار دهید. سپس با فشردن کلید Enter از آن فایل خارج شوید. پس از به روز رسانی profile./~، نوبت به بارگذاری مجدد آن می رسد تا تغییرات اثر خود را بگذارند:

source ~/.profile

   در مرحله بعدی باید virtual environment را برای Python بسازیم:

mkvirtualenv cv

   توجه کنید اگر سیستم را Reboot کردید و یا از ترمینال خارج شدید لازم است مجدداً profile./~ را بارگذاری کنید. برای این کار:

source ~/.profile
workon cv

   توجه کنید که بعد از نوشتن عبارت workon cv، عبارت cv اول هر خط نمایش داده خواهد شد.

    حال نوبت به دانلود و نصب NumPy می رسد:

pip install numpy

   این روند تقریباً 20 دقیقه طول خواهد کشید.
مرحله چهارم: کامپایل کردن و نصب OpenCV
   ابتدا مطمئن شوید در حالت virtual environment هستید:

workon cv

   اکنون فایلی به منظور کامپایل کردن کدهای سورسی که قبلاً دانلود کردیم ایجاد می کنیم:

cd ~/opencv-3.0.0/
mkdir build
cd build

   دستور زیر را به طور کامل در پنجره Terminal وارد کرده و سپس کلید Enter را فشار دهید:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.0.0/modules \
-D BUILD_EXAMPLES=ON ..

   پس از تمام شدن این روند توجه کنید که آدرس و مشخصات مربوط به Python 2.7 مطابق شکل زیر باشد.

   اکنون نوبت به کامپایل کردن کدهای سورس می رسد. برای این کار می توان از چهار هسته موجود در پردازنده برد Raspberry pi استفاده نمود تا عملیات کامپایل کردن زمان کمتری بگیرد (حدود دو ساعت زمان می خواهد):

make -j4

   در صورتی که در هنگام کامپایل کردن به مشکل برخورد کردید، برای کامپایل از یک هسته استفاده کنید (زمان بیشتری خواهد گرفت):

make clean
make

   پس از موفقیت آمیز بودن عملیات کامپایل کردن، نوبت به نصب OpenCV می رسد:

sudo make install
sudo ldconfig

   پس از اتمام نصب، OpenCV باید در آدرس usr/local/lib/python2.7/site-packages نصب شده باشد. برای اطمبنان از این امر از دستور زیر استفاده کنید:

cd ~
ls -l /usr/local/lib/python2.7/site-packages/

   و نتیجه زیر ظاهر خواهد شد:

total 1636
-rw-r--r-- 1 root staff 1675144 Oct 17 15:25 cv2.so

   اکنون باید OpenCV را به virtual environment متصل کنیم:

cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

   نصب OpenCV به طور کامل انجام شد. برای اطمینان از این امر می توان دستورات زیر را در پنجره Terminal تایپ کنید:

workon cv
python
>>> import cv2
>>> cv2.__version__

   دستور __cv2.__version، ورزن نصب شده از OpenCV را نشان خواهد داد.

نظرات (۵)

سلام.خداخیرتون بده
پاسخ:
ممنونم. ایشالا تا آخر امسال کتاب هم چاپ می شه و می تونید از اون استفاده کنید.
موفق باشید.
سلام من در مرحله ی کامپایل کردن کدهای سورس
با   تست کردم بازم مشکل داره تا 30 % میره ارور میده
make -j4 &make
پاسخ:
باسلام
اگر از کارت حافظه 8 گیگی استفاده می کنید، دچار کمبود حافظه شدید. از کارت 16 یا 32 گیگابایتی استفاده کنید.
موفق باشید.
سلام  بابت سایت مفیدتون بسیار ممنونم
من رزبری پای 3 و رم 16 دارم وقتی میخوام open cv رو نصب کنم
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.0.0/modules \
-D BUILD_EXAMPLES=ON ..
تو اجرای دستورات بالا ارور میده
و همچنین هم make j4 امتحان کردم هم make j2  هربار تا 30 درصد کار میره ولی بعدش ارور میده
پاسخ:
سلام ممکنه رمتون پر باشه از قبل
مسئله بعدی شما برای ثایت خطوط 2 تا 6 باید اول هر خط فاصله بزارید تا D- ها زیر هم بیوفتن.
موفق باشید
salam.
da marhaleye compile terminate mishe .
ham 1 haste ham 4 haste in etefagh miofte

پاسخ:
باسلام

اگر هر دو حالت را امتحان کردید و هنوز خطا دارید احتمالاً کارت حافظتون حجمش کمه. پیشنهاد می کنم از کارتی با حافظه 16 گیگابایتی یا بیشتر استفاده کنید. کارت 8 گیگابایتی فایده نداره.
موفق باشید.
سلام
با راهنمایی شما python و opencv را بر روی ویندوز نصب کردم. بعد از اون شروع کردم به نصب بر روی اوبونتو در رسپبری پای اما با کمبود حافظه مواجه شدم. کارت حافظم 16 گیگ هست.
حالا اوبونتو را با رسپبسن جایگزین کردم به نظر شما با کارت 16 گیگی میتونم پایتون و opencv رو نصب کنم و همزمان پردازش تصویر realtime انجام بدم.
با تشکر
پاسخ:
باسلام و معذرت بابت تاخیر در جواب
اگر فقط قصد دارید با رزبری پردازش تصویر انجام بدید (realtime و ...) 16 گیگ باید کافی باشه. خود من برای اطمینان بیشتر 32 گیگ کارت حافظه گذاشتم.
موفق باشید.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی