4 Haziran 2017 Pazar

RASPBERRY PI OPENCV 3.1 KURULUMU

Biz Raspberry Pi 2 mini bilgisayarına  OpenCV 3.1.0 sürümünü kuracağız.Fakat bu yüklemeyi herhangi raspberry pi çeşidine uygulamanızda sakınca yoktur.






Öncelikle Raspberry Pi mini bilgisayarına Raspbian Jessie işletim sistemini kurmanız gerekmektedir.

                              ►Raspbian Jessie Kurulumu


İşletim sistemini kurduktan sonra konfigirasyon ayarları yapılmalıdır.

                              ►Konfigirasyon Ayarları


Konfigirasyon ayarlarını yaptıktan sonra artık işimiz sadece Raspbian Jessie işletim sisteminin terminalinde olacaktır.Terminalimizi açalım;



1) OpenCV işletim sistemimizde çok fazla yer kaplayacağından ben kullanmadığım wolfram Engine programını kaldırarak ekstra yer açacağım.
Terminale;
sudo apt-get purge wolfram-engine

Komutunu yazarak wolfram engine programını kaldırıyoruz. Program kaldırıldıktan sonra sistemde yaklaşık olarak 700Mb boş yer açılmaktadır.


2) Kurulumun ilk aşaması olarak sistemi upgrade ve update edelim.
Terminale sırasıyla ;
sudo apt-get update
sudo apt-get upgrade
(Tahmini Süre : 1dk 30sn)


3) OpenCV işlemlerini yapılandırmak için CMake geliştiricisi yüklenmelidir.Terminale;
sudo apt-get install build-essential cmake pkg-config
(Tahmini Süre : 50sn)


4) Resim I/O paketlerinin kurulması(TIFF,PNG,JPEG).Terminale;
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
(Tahmini Süre : 30sn)


5) Video I/O paketlerinin kurulması.Terminale sırasıyla;
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
(Tahmini Süre : 40sn)

6) OpenCV kütüphanesi highgui modülü ile gelir bu modülü derleyicisi için terminale;
sudo apt-get install libgtk2.0-dev
(Tahmini Süre : 4dk)


7) OpenCV işlemlerinin(Matris vs.) Gfortran bağımlılığı yüklenerek optimize edilir.Terminale;
sudo apt-get install libatlas-base-dev gfortran
(Tahmini Süre : 40sn)


8) Python 2 ve Python 3 IDLE programlarının yüklenmesi. Terminale;
sudo apt-get install python2.7-dev python3-dev
(Tahmini Süre : 40sn)


9) OpenCV kaynak kütüphanesinin indirilmesi için terminale sırasıyla;
cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip
(Tahmini Süre : 1dk 30sn)


10) OpenCV tam kurulumu için (SIRF,SURF vs.) contrib deposunu kurmak gerekir. Terminale sırasıyla;
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip
(Tahmini Süre : 1dk )


11) Python için "pip(python install package)" yüklenmesi için terminale sırasıyla;
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
(Tahmini Süre : 20sn)

12) Virtualenv birbirinden etkilenmeyen izole python ortamları oluşturmak için kullanılır.Yüklenmesi zorunlu değildir.Terminale sırasıyla;
sudo pip install virtualenv virtualenvwrapper sudo rm -rf ~/.cache/pip
(Tahmini Süre : 10sn)

Virtualenv ve Virtualenvwrapper paketleri yüklenmiştir.Fakat bizim güncellememiz gerekir. ~/.profile dosyasının en alt satırlarına aşşağıdaki yazıları eklememiz gereklidir.
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile


13) Python sanal ortamını oluşturmak;
  a) Python 2 kullanacaklar için;
mkvirtualenv cv -p python2
  
  b) Python 3 kullanacaklar için;
mkvirtualenv cv -p python3


14) CV sanal ortamınızı test etmek. Bunun için terminale sırasıyla;
source ~/.profile
workon cv

Sanal ortamınız(Virtualenv) düzgün çalışıyorsa aşşağıdaki görüntüyü terminalinizde alacaksınız.



Aksi takdirde terminalinizi kapatıp açın ve tekrar deneyin. Eğer gene aynı sonuçla karşılaşırsanız.12'den itibaren adımları tekrarlayın. 


15) Numpy(Numerical Python) kütüphanesinin kurulması için terminale;
pip install numpy
(Tahmini Süre : 10dk)


16) OpenCV derlenmesi ve kurulması için terminale;
workon cv


Sanal ortamda bulunduğundan emin olunduktan sonra CMake ile yapı kurulur.Terminale sırasıyla;
cd ~/opencv-3.1.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
    -D BUILD_EXAMPLES=ON ..
(Tahmini Süre : 2dk)

Derlenme adımını geçmeden önce CMake çıktısını inceleyip kontrol edelim.

Python 2 için Sonuç;

Python 3 için sonuç;

Eğer aynı sonuçlar ile karşılaşmazsanız CMake çıktısı düzgün kurulmamıştır. 16. adımı baştan tekrar edin.

Artık OpenCV'yi Derlenmeye Hazır Hale gelinmiştir. Terminale;
make -j4
(Tahmini Süre : 2 saat)

Eğer Derlenme aşamasında hata ile karşılaşırsanız derlemeyi silip baştan kurmanız gerekir için terminale sırasıyla;
make clean make

İşlem başarı ile sonuçlandığında terminalde aşağıdaki gibi bir çıktı alınır.



Bu aşamadan sonra yapılması gereken Raspberry Pi'nize OpenCV'yi kurmaktır.Bunun için terminale sırasıyla;
sudo make install
sudo ldconfig
(Tahmini Süre : 1dk)


17) Python'a OpenCV kurmak;

   a) Pyhton 2 için terminale sırasıyla;
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

   b)Python 3 için terminale sırasıyla;
cd /usr/local/lib/python3.4/site-packages/
sudo mv cv2.cpython-34m.so cv2.so


18) OpenCV kurulumunu test etmek için yeni bir terminal açın ve terminale sırasıyla;
source ~/.profile workon cv
python
import cv2
cv2.__version__


Böyle bir çıktı ile karşılaşırsanız RasPi'nize başarılı bir şekilde OpenCV'yi kurmuşsunuz demektir.

                                                          İyi Çalışmalar...

8 yorum:

  1. İyi günler, derleme esnasında cihazda boş alan yok hatası alıyorum. Raspberry'e boş alan sağlamak için işletim sistemini yeniden yükledim ve hiçbir şey yüklemeden direk opencv kurmaya çalıştım her seferinde bu hatayı aldım. 8GB SD kart kullanıyorum. 8 GB hafıza kart ile opencv yüklemek imkansız mı yoksa bir çözümü var mı ? yardımcı olursanız sevinirim.

    YanıtlaSil
    Yanıtlar
    1. Hocam 8gb alan yeterlidir raspi ayarlarında Expand file system yapmanız gerekmektedir. Terminale "sudo raspi-config" yazın gelen ayar ekranında "expand file system" var onu seçin ve sistemi reboot edin bu işlemden sonra kurabilirsiniz.

      Sil
    2. Cevabınız için teşekkürler önerinizi birazdan deneyeceğim. Bir sorum daha olacak ben işletim sistemini NOOBS ile kurdum. Sanırsam dediğiniz işlem için Raspbian'ı direk kurmamız gerekiyor. Bunun için hangi işletim sistemini kurmalıyım ? raspbian.org'da "Raspbian Stretch With Desktop" ve "Raspbian Stretch Lite" olarak iki dosya var. Bunlardan hangisini kurmalıyım ? Yardımınız için şimdiden teşekkür ederim.

      Sil
  2. Kardeşim Allah razı olsun dediğini yapınca oldu. Haftalardır uğraşıyorum senin gibi anlatan yok sayende opencv'i yükleyebildim. Fakat Raspberry pi'da terminal ekranında test edince opencv yüklü görünüyor. python 3.5.3 IDLE açıp test edince cv2 modülü bulunamadı diyor. Bunu nasıl çözebiliriz kardeşim ?

    YanıtlaSil
  3. Kardeşim, senin yükleme talimatında opencv ile çalışma yapabilmemiz için "cd /usr/local/lib/python3.4/site-packages/" dosyasına gidip "source ~/.profile workon cv
    python" bu kod ile python uygulamasını açmamız gerek. Direk olarak .py uzantılı kodumuzu IDLE'den açıp opencv ile çalışma yapmamızın imkanı yok mu. Bu yol ile proje yapmak imkansız çünkü opencv ile proje yapabilmemiz için öncelikle bu komutlar ile opencv'li python uygulamasını açmamız gerekir ve sadece örnek denemesi yaparız. Yardımcı olursan sevinirim.

    YanıtlaSil
    Yanıtlar
    1. Sanal ortamlar python IDLEyi desteklemez raspberry pi'ye spyder yada pycharm gibi sanal ortam seçebilecek bir idle'yi yükleyip oradan cv sanal ortamını seçmen gerekiyor.

      Sil