Raspberry Pi Üzerine OpenCV Nasıl Kurulur?

Ondan yararlı bilgiler çıkarmak için bir görüntü üzerinde farklı işlemler gerçekleştirmemiz gerekir. Dolayısıyla, istenen çıktıyı elde etmek için bir görüntüye farklı algoritmalar uygulama işlemine Görüntü işleme . Bazen, girişteki görüntü bulanıklaşır ve ondan veri elde etmek isteriz. Örneğin. Hırsızlar bisikleti veya arabayı kapmaya geldiklerinde çoğunlukla bisiklete biniyorlar ve olayın görüntülerini yakalayan yollara tepegöz kameralar yerleştiriliyor. Soyguncuların geldiği aracın kayıt numarasını bilmemiz gerekiyor ve bazı görüntü işleme algoritmaları kullanılarak kolayca yapılabilir. Belirli görüntülerde görüntü işleme gerçekleştirmek için kullandığımız donanıma bazı kitaplıklar yüklememiz gerekir. Bu kütüphaneler arasında en önemlisi OpenCV. OpenCV, PC'lere ve mikroişlemcilere de kurulabilir. Raspberry Pi bir mikroişlemcidir ve çeşitli elektronik projelerde kullanılmaktadır. İşletim Sistemini Raspberry Pi üzerine kurduktan sonra üzerinde çeşitli görüntü işleme görevlerini gerçekleştirebiliriz. OpenCV'yi Raspberry Pi'ye kurmak uzun ve telaşlı bir iştir. Bu yazıda, üzerinde farklı görüntü işleme işlemleri gerçekleştirmek için OpenCV'yi Raspberry Pi'ye nasıl kuracağımızı öğreneceğiz.



Raspberry Pi'ye Yüklü OpenCV ile Yüz Algılama

Raspberry Pi Nasıl Kurulur ve Üzerinde OpenCV Nasıl Yapılandırılır?

Şimdi, Pi'yi kurmaya ve üzerine OpenCV'yi kurmak için adım adım anlatılan işlemleri yapmaya doğru ilerleyelim. OpenCV'yi Pi'ye yüklemek uzun bir süreçtir ve tamamlanması yaklaşık 4 saat sürer, bu nedenle zaman sıkıntısı yaşıyorsanız yüklemeye başlamayın, boş olduğunuzda bu eğiticiye bakın. Bununla birlikte Pi, döndürüldüğünde ısınır. AÇIK üzerinde uzun süre ve zaman alıcı işlemler yapıldığından üzerinde çalışırken serin bir yerde saklayınız.



Adım 1: Kullanılan Bileşenler

  • Raspberry Pi 3B + Kiti
  • HDMI Bağlantı Noktalı Televizyon
  • HDMI kablosu
  • Kablolu Bilgisayar Faresi

Adım 2: Raspberry Pi Modelini Seçme

Piyasada çeşitli ahududu pi modelleri mevcuttur. Ahududu pi sıfır dışında herhangi bir model tercih edilebilir. Bunun nedeni Pi zero'da bir ağ kurmanın çok yorucu bir iş olmasıdır. 3A +, 3B + veya 4 gibi son modeller satın alınabilir. Yeni Raspberry Pi 3, Raspberry Pi Foundation'ın bugüne kadar piyasaya sürdüğü en hızlı ve en baskın cihazdır. Yani bu projede Raspberry Pi 3B + kullanacağız.



Ahududu Pi 3B +



3. Adım: Çevre Birimlerini Bağlama

Raspberry Pi'yi seçtikten sonra klavye ve fareyi Raspberry Pi'ye bağlayacağız. Bağladıktan sonra Pi'yi Televizyona bağlamak için HDMI kablosunu kullanın. Bu bağlantıları yaptıktan sonra ilerlemeye hazırız.

Adım 4: İşletim Sistemini Seçme

Öncelikle uygun bir işletim sistemine sahip bir SD karta ihtiyacımız olacak. İşletim sistemini seçerken, günümüzde 'geleneksel' Raspbian'dan özel medya çalışma çerçevelerine ve hatta Windows 10 IoT'ye kadar çeşitli alternatifler var. Çok fazla uygulamaya gerek olmadığından, medya akış uygulaması için Merkezi İşlem Birimi (CPU) ve Rasgele Erişim Belleğini (RAM) olabildiğince bırakmalıyız. Bir problem, Arch Linux'un oldukça fazla Linux bilgisine sahip kişiler için tavsiye edilmesidir. Ön saflarda yer alıyorlar ve üçüncü taraf uygulamaları ve kitaplıklarını tanıtırken sorunlarla karşılaşmaya devam edeceğiz. Bu nedenle, bu bir ev sinema sisteminin ilk kuruluşuysa, Raspbian Lite . Komut satırı güdümlüdür ve 'başsız' modda çalışmaya devam etmek için çok fazla esneklik gerektirmeden tasarlanabilir, yani bir konsol veya ekran gerekmeden tamamen sistem üzerinden uzaktan erişilebilir.

Raspbian Lite



Adım 5: Raspberry Pi'nin Güncel Olduğundan Emin Olun

Pi'nizin kaynaklarını güncel tutun, aksi takdirde güncel olmayan yazılım bazı sorunlara neden olacaktır. Pi'nizde Virtual Network Computing (VNC) görüntüleyiciyi etkinleştirin, ardından Raspberry Pi'nizi VNC görüntüleyiciye bağlayın. Bağlantı, VNC'yi indirmek ve ardından Pi ile bağlamak için aşağıda verilmiştir.

VNC Görüntüleyici

Şimdi, terminali açın ve aşağıdaki komutu çalıştırın:

sudo apt-get güncellemesi

Sonra,

sudo apt-get yükseltme

Çok sayıda paket kurulacak ve istenirse basın VE ve sonra Giriş onları doğru şekilde kurmak için.

Adım 6: Raspberry Pi'ye Giriş Yapın

Raspberry Pi'nin varsayılan kullanıcı adı pi, ve varsayılan şifre Ahududu. Bunlar varsayılan giriş detaylarıdır ve ilk girişinizde pi'ye giriş yapmak için bu detayları kullanın. Bu detayları da istediğiniz zaman değiştirebilirsiniz.

Raspberry Pi'ye Giriş Yapın

7. Adım: Raspbian'da OpenCV İçin Yeterli Alan Oluşturma

OpenCV büyük bellek elde eder, bu nedenle dosya sistemini genişletmemiz ve tüm alanı bellek kartına ayırmamız gerekir. Ahududu komut istemine gidip aşağıdaki komutu yazacağız:

sudo raspi-config

Bir pencere açılacak ve şöyle görünecektir:

Yapılandırma Aracı

Şimdi, Gelişmiş seçeneklere tıklayacağız ve orada 'Dosya Sistemini Genişlet' seçeneğini bulacağız. Bu seçeneği seçin.

Dosya Sistemini Genişletin

Basacağız Giriş düğmesine basın ve ardından Bitiş buton. Bu aşamada, değişikliklerin geçerli olması için Raspberry Pi'mizin yeniden başlatılması gerekir. Yeniden başlatmak için aşağıdaki komutu yazın:

sudo yeniden başlatma

Yeniden başlattıktan sonra, dosya sistemimizin genişleyip genişlemediğini ve tüm alanın SD kartta bulunup bulunmadığını kontrol edeceğiz. Yürütme yoluyla df -h komut diskimizin genişlediğini doğrulayabiliriz:

8GB mikro SD kart kullanan kişi, mevcut alanın% 50'sini kullanıyor olabilir, bu nedenle siliniyor Wolfram Motoru ve LibreOffice yaklaşık 1 GB alan boşaltabilir. (Bu adımın isteğe bağlı olduğunu unutmayın).

sudouygun-almak temizlemekWolfram-motor sudouygun-almak temizlemekLibreoffice* sudouygun-almak temiz sudouygun-almak otomatik kaldır

Adım 8: Bağımlılıkları Yükleme

Gitmeden ve bağımlılıklardan önce Pi'de kurulu olan mevcut paketleri güncellememiz ve yükseltmemiz gerekir:

sudo apt-get güncellemesi

Sonra,

sudo apt-get yükseltme

Şimdi, OpenCV derlemesini yapılandırmamıza yardımcı olacak bazı geliştirme araçları kuracağız:

sudouygun-almak Yüklemekinşa etmek-önemlicmakepkg-yapılandırma

Görüntüler üzerinde farklı işlemler gerçekleştirmek için sabit diskten çeşitli görüntü formatlarını yüklememiz gerekir. Bu biçimler JPEG, PNG vb. İçerir. Bu görüntü biçimlerini yüklemek için bazı G / Ç paketlerini kuracağız:

sudouygun-almakYüklemeklibjpeg-geliştiricilibtiff5-geliştiricilibjasper-geliştiricilibpng12-geliştirici

Bu görüntü G / Ç paketlerinin yanı sıra, video G / Ç paketleri de kuracağız. Bu video paketlerini kurduktan sonra çeşitli video dosyası formatlarını yükleyebileceğiz.

sudouygun-almak Yüklemeklibavcodec-geliştiricilibavformat-geliştiricilibswscale-geliştiricilibv4l-geliştirici sudouygun-almak Yüklemeklibxvidcore-geliştiricilibx264-geliştirici

OpenCV kitaplığı, adlı bir alt modüle eşlik eder Highgui Bu, resimleri ekranımıza göstermek ve temel GUI'leri üretmek için kullanılır. Bu alt modülü derlemeden önce GTK geliştirme kitaplığını kurmamız gerekiyor:

sudouygun-almak Yüklemeklibgtk2.0-geliştiricilibgtk-3-geliştirici

Görüntünün boyutu kontrol edilerek ve ardından piksel değerleri okunarak bir görüntü üzerinde çeşitli matris işlemleri gerçekleştirilebilir. Ayrıca bu piksel değerlerini ikili forma dönüştürebilir ve ardından bir görüntüyü yeniden oluşturmak için bu ikili rakamları değiştirebiliriz. Ahududu pi'de girdi sağlarken bazı sınırlamalarımız vardır, bu nedenle bu kitaplıklar önemlidir ve kurulmaları gerekir. Bu nedenle, bazı ekstra bağımlılıklar yüklenerek bu sonuçlar daha iyi hale getirilebilir:

sudouygun-almak Yüklemeklibatlas-temel-geliştiriciGfortran

Bazı insanlar Python 2.7 üzerinde çalışacak ve bazıları da Python 3 üzerinde çalışacak. Python 2.7 ve Python 3'ün başlık dosyalarının Python bağlamaları ile birlikte OpenCV'yi derlemek için yüklenmesi gerekir:

sudouygun-almak Yüklemekpython2.7-geliştiricipython3-geliştirici

Raspbian Python 3'ün yeni sürümünde zaten yüklü ve Lx Terminalinde şunu belirten bir mesaj görünebilir: 'Python 3 zaten en son sürüm' . Bu adım önemlidir, çünkü olarak adlandırılan başlık dosyasıyla ilgili hatayla karşılaşabiliriz. Python.h komutu çalıştırırken Yapmak OpenCV'yi derlemek için.

Adım 9: OpenCV Kaynak Kodunu İndirme

Bağımlılıkları yüklemeyi bitirdiğimizde, OpenCV'nin resmi dizininden OpenCV 3.3.0 sürümünün arşiv klasörünü arayacağız.

CD ~ wget -VEYA opencv.zip https://github.ile/Itseez/opencv/Arşiv/3.3.0.zip fermuarını açmakopencv.zip

OpenCV'nin tüm paketini kuruyoruz, bu yüzden dahil etmemiz gerekiyor opencv_contrib yanı sıra. Resmi siteden indirin ve daha sonra açın.

wget -VEYA opencv_contrib.zip https://github.ile/Itseez/opencv_contrib/Arşiv/3.3.0.zip fermuarını açmakopencv_contrib.zip

Bu dizinleri indirirken, OpenCV'nin sürümünün ve opencv_contrib aynı olmalıdır, yani 3.3.0 olmalıdır, aksi takdirde kurulum sırasında derleme hataları olacaktır.

Adım 10: Python 2.7 veya Python 3?

Performans açısından python 2.7, python 3'ten daha iyidir ancak OpenCV'de çok fazla fark yoktur. Yüklememiz gerekiyor pip OpenCV'yi derlemeden önce Raspberry'de. Python'da kullanılan yazılım paketlerini kurmak için kullanılan paket yönetim sistemidir. Bu paketler varsayılan olarak en son raspbian'da mevcut olabilir, ancak aşağıdaki komutları kullanarak bunları doğrulamak daha iyidir.

wgethttps://önyükleme.pypa.BEN/almak-pip.py sudopitonalmak-pip.py sudopython3almak-pip.py

Pip'i kurduktan sonra iki paket şiddetle tavsiye edilir ve OpenCV üzerinde çalışırken yüklenmesi gerekir. İlki virtualenv, ikincisi virtualenvwrapper'dır. OpenCV'yi doğrudan Python'a aktaramayız, bu nedenle sanal bir ortam oluşturup o ortamda çalışacağız. Sanal ortam, her biri için ayrı Python ortamları oluşturarak çeşitli projelerin gerektirdiği koşulları ayrı yerlerde tutmak için kullanılan istisnai bir araçtır.

sudopipYüklemekVirtualenvVirtualenvwrapper sudorm -rf ~/.cache/pip

Bu paketleri kurduktan sonra, ~/.profil Ana dizinimizdeki gizli dosya olan ve sonuna aşağıdaki satırları ekleyin. Dizine girmek için aşağıdaki komutu yazın:

nano~/.profil

Dizin açıldığında aşağı kaydırın ve aşağıdaki satırları içerir:

# virtualenv ve virtualenvwrapper ihracatWORKON_HOME=$ HOME/.virtualenvs ihracatVIRTUALENVWRAPPER_PYTHON=/usr/am/python3 kaynak /usr/yerel/am/Virtualenvwrapper.sh

Bu satırları ekledikten sonra ctrl + x tuşlarına basın, tuşlarına basarak kaydedin. VE ve çıkın.

Ana Dizin

Terminali her başlattığımızda ve Pi'mize giriş yaptığımızda bu nokta dosyası bizim için otomatik olarak yüklenecektir. Zaten giriş yaptığımız için manuel olarak yazardık kaynak ~ / .profile dosyanın içeriğini yüklemek için.

Python Sanal Ortamı Oluşturma: Python 2.7 ve python 3 kullanarak sanal bir ortam oluşturmamız gerekiyor.

mkvirtualenvÖzgeçmiş -p python2

Adlı bir ortam yaratacak Özgeçmiş Python 2.7'de. Python 3'te bir ortam oluşturmak isteyen herkes aşağıda belirtilen komutu yazmalıdır:

mkvirtualenvÖzgeçmiş -p python3

'Cv' Olarak Adlandırılan Sanal Ortamda Olduğumuzu Doğrulamak: Pi'yi yeniden başlattığımızda sanal ortamda kalmayacağız ve sanal ortam moduna geçmek için aşağıda belirtilen iki komutu yazmamız gerekiyor.

kaynak ~/.profil üzerinde çalışmakÖzgeçmiş

Aşağıdaki resim sanal ortam modunda olmadığımızı gösteriyor:

LxTerminal

Böylece yukarıda bahsedilen iki komutu yazarak sanal ortamımıza erişebileceğiz. Sanal ortamdan ayrılmak istiyorsak deactivate yazacağız:

Sanal Ortamda Çalışmak

Raspbian'da NumPy Kurulumu: OpenCV'yi Raspberry'ye yüklememiz gereken tek bağımlılık Numpy'dir. Raspberry Pi'ye Numpy yüklemek için aşağıda belirtilen komutu yazın. Yüklemesi yaklaşık 10 dakika sürer:

pipYüklemekdizi

Adım 11: OpenCV'yi Derleme ve Kurma

OpenCV'yi Sanal Ortamda derleyip kuracağız, bu nedenle CV sanal ortamında çalıştığınızdan emin olun. Sanal ortamda değilsek OpenCV derleme yapamayacaktır. Şimdi, dizini ana dizine, alt dizine değiştirin açık cv 3.3 ve sonra yapı dizinini oluşturun. Yapı dizinini yaptıktan sonra son beş satırı CMake dizin. Belirli kitaplıkların ayarlanan yolları, python sürümleri vb. Olup olmadığını kontrol edecektir.

CD ~/opencv-3.3.0/ mkdir inşa etmek CD inşa etmek cmake -D CMAKE_BUILD_TYPE=SERBEST BIRAKMAK  -D CMAKE_INSTALL_PREFIX=/usr/yerel  -D INSTALL_PYTHON_EXAMPLES=AÇIK  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modüller  -D BUILD_EXAMPLES=AÇIK ..

Python 2.7 kullananlar için CMake çıktısına kaydırmaları gerekecek ve Python 2.7 bölümünü arayacaklar ve Numpy ve paketlerin yollarının doğru yapılandırılıp yapılandırılmadığını görecekler. Python 3 kullananlar için Python 2 bölümünün hemen altındaki python 3 bölümünü kontrol edecekler:

Python 2.7 Bölümü Kontrol Ediliyor

Artık nihayet OpenCV'yi derlemeye hazırız. Make komutunu yazın ve derleme işlemini başlatacaktır. Derlenmesi yaklaşık dört saat sürecektir, bu nedenle gece uyumadan önce derlemeye başlamak tercih edilir, böylece sabah uyandığınızda OpenCV derlenir. Bir komut 'make' yazmak, yalnızca bir çekirdek kullanarak derlenecektir. Biraz zaman almasına rağmen, hata olasılığı daha azdır. Make -j4 ve make -j2 komutunun kullanılması Raspberry Pi'nin aşırı ısınmasına ve ayrıca derleme hatalarına neden olabilir:

Yapmak

Derleme Tamamlandı

OpenCV 3'ü Raspberry Pi'ye aşağıdaki komutu kullanarak kuracağız. Bu komutu çalıştırmak, ilgili dosyaları konumlarına kopyalayacaktır:

sudo make install

Kurulumumuz bu son komutu çalıştırarak tamamlanacaktır:

sudoldconfig

Python 2.7 veya Python 3 kullandığımızda artık birkaç adım kaldı.

Adım 12: Kurulumu Tamamlama

Yazarak ana dizine dönün cd ~.

Python 3: Python 3 için OpenCV ve python bağlamalarını derlediğimiz için OpenCV bağlarını python 3 dizinindeki cv'imize sembolik bağlayacağız.

CD ~/.virtualenvs/Özgeçmiş/lib/python3.5/site-paketleri/ ln -s /usr/yerel/lib/python3.5/site-paketleri/cv2.yani cv2.yani

Bu kadar!. Şimdi, OpenCV'yi Raspberry Pi'ye kurduk. Şimdi sanal ortamda kontrol edeceğiz.

Adım 13: OpenCV'yi Test Etme

LxTerminal'i açın ve kaynak komutunun ardından üzerinde çalışmak komut. Sanal ortam moduna girdiğimizde, OpenCV bağlamalarını python yazarak içe aktaracağız ve ardından cv2'yi içe aktaracağız. Hata mesajı yoksa bu, başarılı bir şekilde içe aktarıldığı anlamına gelir.

kaynak ~/.profil üzerinde çalışmakÖzgeçmiş piton >>ithalatcv2

Bundan sonra, aşağıdaki komutu yazarak OpenCV sürümümüzü kontrol edeceğiz:

cv2.__ version__

Test yapmak]

OpenCV'yi Raspberry 3B + üzerine kurduk. Artık Python'da Rakam Algılama, Yüz Tanıma gibi çok sayıda görüntü işleme işlemi gerçekleştirebiliriz.