4 Ekim 2018 Perşembe

Raspberry Pi 3 B+ Üzerine OpenCV 4.0 Kurulumu

Not: Mevcut işletim sistemi sürümü Raspbian Stretch adresinden kurulum aşamaları takip edilerek kurulabilir. Depolama alanı sıkıntısı olmaması için 32GB sd kart kullanılması faydalıdır. Raspberry Pi 3 B+ üzerine OpenCV kurulumu tüm işlemler ile birlikte 4 saat ve üzeri bir zaman gerektirdiği için cihaz ısınmadan kaynaklı kapanabilir. Kurulum süresince bir fan yardımı ile soğutma yapmak gerekli olabilir. Kurulum süresince filtresiz bir internet bağlantısı (Mebin sağladığı internet altyapısında sitelere erişim kısıtlı) olması gereklidir.
/etc/apt/sources.list ve /etc/apt/sources.list.d/raspi.list dosyalarını (sudo olarak) açarak kaynak dosyaları değiştirilebilir.
  • Adım 1: Mevcut Sürümün Güncellemesini denetleyin.
sudo apt-get update
sudo apt-get -y dist-upgrade
Not1: Tüm Diski Kullanma(Expand filesystem)
sudo raspi-config


2018-10-04_11-11-22.png
df -h
Çıktıyı inceleyerek tüm diski kullandığınızdan emin olun.
2018-10-04_11-06-43.png
sudo reboot
Not 2: SSH aktif hale getirme. (uzaktan Erişim)
Kablolu veya Kablosuz ağ bağlantısını yapın.
Masaüstündeki çilek ikonuna tıklayarak:
  1. Tercihlerden Raspberry Pi Configuration tıkla.
  2. Sekmeli menüdenInterfaces seçin.
  3. SSH seçeneğini Enabled yapın.
Diğer alternatif olarak terminalden:
  1. sudo raspi-config komutu yazarak ayarlar penceresini açın.
  2. Interfacing Optionsseçeneğini seçin.
  3.  SSHseçeneğini seçin.
  4. Uyarı mesajına YesSeçin
  5.  Ok seçin ve Finish
systemctl servisini durdurup tekrar başlatın.
sudo systemctl enable ssh
sudo systemctl start ssh
Not 3: screen (terminal oturumunuz düştüğünde işlemlerin devam etmesini sağlamak) ve htop (performans izleme) yardımcı programları kullanılabilir.
sudo apt-get install screen
sudo apt-get install htop
Not 4:  Wolfram ve Libreoffice'i kaldırarak 1GB yer kazanabilirsiniz.
sudo apt-get purge wolfram-engine
sudo apt-get purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
Adım 2: Bağımlılıkların Yüklenmesi
OpenCV oluşturma işlemini yapılandırmamıza yardımcı olan CMake dahil bazı geliştirici araçları,
sudo apt-get install build-essential cmake pkg-config
Diskten çeşitli video ve resim dosyası formatlarını yüklememize izin veren bazı görüntü I / O paketleri,
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
Highgui modülünü derlemek için GTK geliştirme kütüphanesi,
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libcanberra-gtk*
OpenCV içindeki birçok işlem (matris işlemleri) birkaç ek bağımlılık,
sudo apt-get install libatlas-base-dev gfortran
Python 2.7 ve Python 3,
sudo apt-get install python2.7-dev 
sudo apt-get install python3-dev
Görüntü I / O paketlerine ihtiyaç duyduğumuz gibi, video I / O paketlerine de ihtiyacımız var. Bu kütüphaneler, çeşitli video dosyası formatlarını diskten okumamızı ve doğrudan video akışlarıyla çalışmamızı sağlar.
Bu paketlerin bazıları zaten kurulu olabilir ama sıkıntı yok varsa da kontrol amaçlı yazalım.
Adım 3: Open CV Kaynak kodlarını indirme ve açma. Farklı sürüm için sürüm numaralarını değiştirmek yeterli.
cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0-alpha.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0-alpha.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.0.0-alpha opencv
mv opencv_contrib-4.0.0-alpha opencv_contrib
Not: Ayarlar kısmında klasör isimlerine dikkat etmek gerekiyor. Dizinleri yeniden adlandırmayı atlarsanız, CMake yollarını güncellemeyi unutmayın.
Adım 3: pip ve virtualenv'yi kurulumu. Python paketlerini yönetmek için gerekli araçlar.
Python Paket Yöneticisi Kurulumu:
wget -O get-pip.py https://bootstrap.pypa.io/get-pip.py 
sudo python get-pip.py
sudo python3 get-pip.py
Kaynak: https://pip.pypa.io/en/stable/installing/
virtualenv sanal ortamların kurulumu. Bu paketleri yüklemek bir zorunlu değildir.  OpenCV bunlar olmadan da çalışır.  Ama sanal ortamın, her biri için ayrı , bağımsız Python ortamları oluşturarak , farklı projelerin gerektirdiği bağımlılıkları ayrı yerlerde tutmak için kullanılan özel bir araçtır. Örneğin python2 için ayrı bir sanal ortam, python3 için ayrı bir sanal ortam oluşturup, bağımlılıkları birbirinden bağımsız çalışabilir.
Daha geniş Bilgi için Tıklayın.
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip
bu işlemden sonra
sudo nano ~/.profile 
dosyasına aşağıdaki koyu renk satırları dosya sonuna ekleyiniz.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# virtualenv and virtualenvwrapper settings
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
ve değişiklikleri aktif hale getirin.
2. yol olarak şu sekildede eklenebilir:
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
source ~/.profile
Python için Sanal Ortamın Oluşturulması.
mkvirtualenv cv - p python3
Python2 kullanmak isterseniz
mkvirtualenv cv2 - p python2
virtualenvwoker ile çalışmak için temel komutlar:
mkvirtualenv cv # create virtualenv
workon cv # activate/switch to a virtualenv
deactivate cv # deactivate virtualenv
Artık "cv" adlı bir virtualenv'i etkinleştirebiliriz: (Python3 sanal ortamında kurulum yaptım.)
pi@raspberrypi:~ $ workon cv
(cv) pi@raspberrypi:~ $ 
şeklinde görünmelidir.
Adım 4: Sayısal işlem için kullanılan Python paketi numpy ve scipy Yükleme
sudo pip install numpy scipy
veya
sudo pip install numpy

Bu Biraz zaman alabilir bekleyin.
Adım 4: Sonunda OpenCV Kurulumu ve Derleme. Burası 2 saat sürüyor. Lütfen sabırlı olun. Cihaz ısınıp kapanabilir. Bir fan yardımı ile soğutabilirsiniz.
cv sanal ortamda olduğunuzu bir kez daha kontrol edin (sizden önceki cv ) metnini görmelisiniz )  eğer değilseniz,
workon cv
cd ~/opencv/
mkdir build
cd build

xcmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..
OpenCV 3'ü Python 2.7 veya Python 3.0 için derliyorsanız , Python 2 bölümünüzün, cmake sırasında akan textlerde,  Tercüman ,  Kütüphane , numpy ve paket yolunun geçerli yolları içerdiğinden emin olun :
py27_cv-768x473.png
.....
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv/opencv/build
şeklinde bitti ise ve yollarda bir sıkıntı yoksa muhtemelen bu aşama sorunsuz tamamlanmıştır.
Artık derleme(make)zamanı. Ama önce swap(takas) alanını 100 MB olan değeri 1024 MB yapalım. Derleme işleminde sıkıntı çıkmasın. İşlem sonunda tekrar 100 yapın diye öneriyorlar.  Flash belleğin sınırlı sayıda yazıcısı  olduğundan SD karta zarar verir.
nano /etc/dphys-swapfile
açılan dosyada  CONF_SWAPSIZE satırını bulun ve aşağıdaki gibi değiştirin.
# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
# CONF_SWAPSIZE=100
CONF_SWAPSIZE=1024
ctrl+x ile kaydedin ve çıkın. Sonra takas servisini tekrar çalıştıralım.
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile startveya
sudo /etc/init.d/dphys-swapfile restart
 
OpenCV'yi derleme:
make -j4
//make clean
//make
Derlemede işlemci sayısını azaltarak süreyi uzatır. Raspberry işlemcilerinin yorulmasını önleyebilirsiniz.(make -j3, make -j2, make -j1)
Derleme işlemi tamamlandığında %100 olmalı. Eğer sorun çıkarsa sadece make komutunu kullanın ve işinize bakın çünkü çok çok uzun sürüyor.
sudo make install
sudo ldconfig
sudo apt-get update
komutlarını çalıştırıp sistemi yeniden başlatalım.
swap alanını tekrar eski haline getirelim.
nano /etc/dphys-swapfile
açılan dosyada  CONF_SWAPSIZE satırını bulun ve aşağıdaki gibi değiştirin.
# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=100
# CONF_SWAPSIZE=1024
ctrl+x ile kaydedin ve çıkın. Sonra takas servisini tekrar çalıştıralım.


sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile startveya
sudo /etc/init.d/dphys-swapfile restart
Adım 5:OpenCV 4'ü Python 3 sanal ortamınıza bağlayın. 
 OpenCV sembolik bir bağlantı oluşturalım
cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
cd ~
Adım 5: Test
source ~/.profile
workon cv
python
>>> import cv2
>>> cv2.__version__
'4.0.0'
>>> exit()
2018-10-04_11-38-33.png
Güle Güle Kullanın.
sudo reboot
en derli toplu anlatım kaynağı: https://www.pyimagesearch.com/2018/09/26/install-opencv-4-on-your-raspberry-pi/






 
 
 







 

Hiç yorum yok :

Yorum Gönder