Raspberry Pi Üzerine OpenCV Kurulumu

Raspberry Pi İngiltere’de Raspberry Pi Vakfı tarafından eğitim amacıyla kullanılan kredi kartı büyüklüğünde bir geliştirme kartıdır. Ayrıca amatör ve profesyonel elektronikçiler de Raspberry Pi geliştirme kartını kullanmaktadırlar. Raspberry Pi geliştirme kartı genel olarak Python ve C/C++ ile programlanabildiği gibi BBC Basic ve Perl gibi programlama dillerini de desteklemektedir.

Raspberry Pi geliştirme kartı birçok gömülü linux işletim sistemini desteklemektedir. Bunlardan başlıcası Rasbian işletim sistemidir. Rasbian işletim sistemi Raspberry Pi için tasarlanmış debian tabanlı bir gömülü işletim sistemidir. Rasbian işletim sisteminin yanında Arc Linux ve Pidora gibi işletim sistemleri de Raspberry Pi geliştirme kartıyla kullanılabilmektedir.

Raspberry Pi Modelleri:

Model A: Raspberry Pi’nin en temel sürümüdür. Üzerinde sadece 1 adet USB portu, 3.5 mm stereo ses çıkışı, kompozit video ve HDMI portu bulunur. Ethernet girişi bulunmaz. ARM v6 mimarisine sahip tek çekirdek işlemciye sahiptir. 256MB RAM belleği vardır. 26-pinli GPIO konektörü bulunur. Az güç tüketmesi sayesinde gömülü sistem projelerinde kullanılması için tasarlanmıştır.

Model A+: Model A’nın güncellenmiş sürümüdür. Bu sürümde 26-pinli GPIO konektörü 40-pine çıkartılmış, kompozit video çıkışı kaldırılmış ve normal SD kart yerine mikro SD kart slotu kullanılmıştır. Kart boyutları ufaltılarak yer sıkıntısı çekilebilecek projelerde kullanılması hedeflenmiştir. En küçük boyutlu Raspberry Pi’dir.

Model B: Raspberry Pi’nin en çok bilinen ve kullanılan modelidir. 2 adet USB portu, Ethernet girişi, 3.5 mm stereo HDMI ve kompozit video çıkışları bulunur. ARMv6 mimarisine sahip tek çekirdek işlemciye sahiptir. 512MB RAM belleği vardır. 26-pinli GPIO konektörü bulunur. En popüler Raspberry Pi modelidir.

Model B+: Raspberry Pi Model B’nin geliştirilmiş ve kart tasarımı değiştirilmiş sürümüdür. Model B’den farklı olarak 4 adet USB portu, normal SD kart yerine mikro SD kart slotu ve 26-pin yerine 40-pinli GPIO konektörü bulunur. HDMI ve Ethernet bağlantıları yine bu kartta yer almaktadır. Kompozit video çıkışı bu kartta ayrı bir konektör olarak yer almamaktadır, 3.5 mm ses çıkış portundan 3’lü RCA tipi kabloyla bağlanır.

Raspberry Pi 2:Model B+ ile aynı kart dizilimine sahip olmasına karşın, bu kartta ARMv7 mimarisine sahip 4 çekirdekli işlemci ve 1GB RAM bellek bulunmaktadır.

Raspberry Pi 3: Raspberry Pi 2’nin devamı olan bu modelin en büyük farkı dahili Wi-Fi ve Bluetooth bağlantıya sahip olmasıdır. Ayrıca ARMv8 64-bit mimarisine sahip 4 çekirdekli işlemcisi, 1.2GHz frekansında çalışmaktadır ve 1GB RAM belleğe sahiptir.

Raspberry Pi Zero: Bütün dünyayı ayağa kaldıran Raspberry Pi modelidir. Bunun en büyük sebebi, $5’lık fiyat etiketiyle satışa sunulması olmuştur. En küçük boyutlu Raspberry Pi modelidir. Donanımı (işlemci ve belleği) Raspberry Pi Model B ile tamamen aynıdır. Boyutundan dolayı tam boy USB yerine mikro USB-OTG portuna sahiptir.

Raspberry Pi 2 masaüstünden bir görüntü:

Raspberry Pi

OpenCV Kütüphanesi:

OpenCV görüntü işleme işlemlerinde kullanılan açık kaynaklı bir kütüphanedir. C/C++ ile kullanıldığı gibi C#, Java ve Python ile de kullanılabilmektedir. OpenCV kütüphanesinde görüntü analizi, histogram, renk uzayları, temel dönüşümler, filtreler, matching(eşleştirme), edge detection(kenal algılama), corner detection(köşe algılama), shape detection(şekil algılama), temporal analysis, object detection(nesne algılama), object recognition(nesne tanıma), reconstruction gibi genel görüntü işleme konularına yer verilmiştir. Ayrıca OpenCV yüz tanıma, işaret dili tanıma, hareket yakalama, hareket algılama ve takip, hareketli robot teknolojileri gibi alanlarda çalışma fırsatı vermektedir. OpenCV genellikle C/C++ programlama dili ile birlikte kullanılmaktadır.OpenCV kütüphanesi Windows, Linux, OS, Android ve iOS işletim sistemlerini desteklemektedir. Aşağıda OpenCV kullanılarak yapılmış bir sobel filtre uygulaması gösterilmektedir;

Pİ zero

 

Raspberry Pi Üzerine OpenCV Kütüphanesi Kurulumu

Raspberry pi üzerine Opencv kütüphanesi kurulurken terminale aşağıdaki komutlar yazılır:
-Öncelikle işletim sistemi güncellenir;

$sudo apt-get update && sudo apt-get upgrade 

-Daha sonra Raspberry Pi ile yazılım geliştirmek için gereken yüklemeler yapılır;

$sudo apt-get -y install build-essential cmake cmake-qt-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
$sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev pkg-config
$sudo apt-get -y install build-essential
$sudo apt-get -y install cmake
$sudo apt-get -y install pkg-config
$sudo apt-get -y install libpng12-0 libpng12-dev libpng++-dev libpng3
$sudo apt-get -y install libpnglite-dev libpngwriter0-dev libpngwriter0c2
$sudo apt-get -y install zlib1g-dbg zlib1g zlib1g-dev
$sudo apt-get -y install libjasper-dev libjasper-runtime libjasper1
$sudo apt-get -y install pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
$sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-prog
$sudo apt-get -y install libavcodec53 libavcodec-dev libavformat53 libavformat-dev libavutil51 libavutil-dev libswscale2 libswscale-dev
$sudo apt-get -y install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev
$sudo apt-get -y install libxine1-ffmpeg libxine-dev libxine1-bin
$sudo apt-get -y install libunicap2 libunicap2-dev
$sudo apt-get -y install libdc1394-22-dev libdc1394-22 libdc1394-utils
$sudo apt-get -y install swig
$sudo apt-get -y install python-numpy
$sudo apt-get -y install libpython2.6 python-dev python2.6-dev
$sudo apt-get -y install libjpeg-progs libjpeg-dev
$sudo apt-get -y install libgstreamer-plugins-base0.10-dev
$sudo apt-get -y install libqt4-dev libgtk2.0-dev

-Gerekli kurulumlar yapıldıktan sonra OpenCV indirilir ve gerekli işlem basamakları izlenir. Burada ben 2.4 sürümünü kullandım sürüm farklılıkları durumunda indirme linkide değişecektir;

$wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip/download
$cd opencv-2.4.4
$mkdir build
$cd build

-Bu kısımda Cmake config ayarlarını yapılması gerekiyor. Bunun için şu komut yazılır;

$cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
-Configure  bittikten sonra sırasıyla şu komutlar çalıştırılır;
$make && sudo make install
$sudo nano /etc/ld.so.conf.d/opencv.conf

-Burada boş bir metin dosyası açılacaktır.İçine /usr/local/lib yazılarak kaydedilir. -Daha sonra aşağıdaki komut çalıştırılır;

$sudo nano /etc/bash.bashrc
-Açılan dosyada en alt satıra aşağıdaki kısım eklenerek kaydedilir;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

 

Yorum yapın