Yapay Zeka Uygulama Geliştirme Kartı: NVIDIA JETSON NANO – 3
Herkese merhabalar. Yapay Zeka Uygulama Geliştirme Kartı: NVIDIA JETSON NANO serisinin 3. bölümüne başlıyoruz. Bu bölümde yazılacak C++ kodları için arayüz program kurulumu yapılacaktır. Kurulum yapıldıktan sonra yazacağımız kodları CMake programı ile derleyip çalıştıracağız.
Eğer sisteminize Jetpack kurulumu yapmadı iseniz serinin önceki bölümüne ulaşıp kurulumu yapabilirsiniz.
2. bölüm için link: https://www.veribilimiokulu.com/yapay-zeka-uygulama-gelistirme-karti-nvidia-jetson-nano-2/
Seride kodları yazmak için kullanılacak arayüz programı (IDE) QtCreator programı olacaktır. QtCreator program kurulumu terminal ile yapılacaktır.
NVIDIA Jetson Nano geliştirme kartına ubuntu sistemini kurduğumuz için terminal işlemleri linux komutları ile yapılacaktır.
QtCreator Kurulumu
Terminali açıyoruz. Terminali kısayol tuşları ile açmak için ”ctrl + alt + t” tuşlarına birlikte basarak yapabilmekteyiz.
terminale;
$ sudo apt install build-essential
ve
$ sudo apt install qtcreator
komutlarını sırası ile yazarak kurulum işlemi yapılmatadır.
$ qtcreator
komutu ile QtCreator programını açabiliyoruz.
QtCreator program kurulumu burada bitti. Şimdi ise C++ programlama dili ile yazılan kodları derlememiz için CMake programını yükleyeceğiz.
CMake Kurulumu
Terminale,
$ sudo apt-get install cmake
Komutunu yazıyoruz ve kurulumun tamamlanmasını bekliyoruz.
QtCreator ve CMake kurulumları tamamlandı. Jetpack sisteminde OpenCV kurulu olarak geldiği için kurulum yapmıyoruz. OpenCV projesi oluşturmak için gerekli olan C++ arayüz programı QtCreator ve kodların derlenmesi için gerekli CMake programı kuruldu.
Artık ilk projemizi yazıp derleyebiliriz
OpenCV Proje Oluşturma
Projemizi oluşturmamız için .cpp uzantılı oluşturmamız gerekmektedir. Kodları derlemek için ise CMakeLists.txt dosyası oluşturmamız gerekiyor.
CMakeLists.txt ve Opencv_1.cpp Dosyası Oluşturmak
ilk önce proje klasörü oluşturuyoruz.
Terminale,
$ mkdir opencv_giris
mkdir komutu ile klasör oluşturuldu.
$ cd opencv_giris/
Komut ile klasörün içerisine giriyoruz.
$ touch CMakeLists.txt
Komut ile CMakeLists.txt dosyası oluşturuldu.
$ touch opencv_1.cpp
Komut ile opencv_1.cpp dosyası oluşturuldu.
CMakeLists.txt Dosyasına Eklenecekler
CMakeLists.txt dosyasının içerisine giriyoruz.
cmake_minimum_required(VERSION 2.8) project( opencv_giris ) find_package( OpenCV REQUIRED ) add_executable( opencv_giris opencv_1.cpp ) target_link_libraries( opencv_giris ${OpenCV_LIBS} )
Yazıları CMakeLists.txt dosyasına ekliyoruz ve kaydediyoruz.
CMakeList.txt dosyasını her projede oluşturmamız ve açtığımız her projede küçük değişikler yapmamız gerekmektedir.
Dosyanın içerisinde bulunan opencv_1.cpp uzantılı kısma proje için oluştulan .cpp dosyasının adı yazılmalı ve opencv_giris kısmı yerine projenizin ismi yazılmalıdır. Bu dosyayı küçük değişiklikler ile projelerinizde kullanabilirsiniz.
Opencv_1.cpp Dosyasına Eklenecekler
QtCreator programı ile opencv_1.cpp dosyamızı açıyoruz.
#include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main(){ cv::Mat image = cv::imread("/home/enes/Desktop/opencv_giris/araba.jpeg"); if (image.data){ cv::namedWindow("Araba"); cv::imshow("Araba",image); cv::waitKey(100000); }}
Kodları opencv_1.cpp dosyamıza ekliyoruz. QtCreator programını derlemek değil kodları yazmak için kullanıyoruz. Bu yüzden dosyalarımızı kaydedip QtCreator’ ı kapatıyoruz.
Kodların detayını serimizin 4. bölümünde açıklayacağız.
Kodları Derlemek ve Çalıştırmak
Derleme yapmak için proje klasörünün içerisine build klasörü oluşturup dizin içerisine gireceğiz.
$ mkdir build
Komut ile build klasörü oluşturuldu.
$ cd build
Komut ile build klasörüne girildi.
$ cmake .. && make
Komut ile derleme işlemini yapıyoruz.
Derleme işlemini bitirdik. Herşey doğru çalıştı ise projeyi çalıştırıyoruz.
$ ./opencv_giris
Komut ile projemizi girdi resmi olarak verdiğimiz araba.jpeg çalıştırıyoruz ve projemize girdi resmi olarak verdiğimiz araba.jpeg resminin çıktısını görüyoruz.
Böylelikle NVIDIA Jetson Nano kartı üzerinde OpenCV kütüphanesini kullanarak ilk projemizi tamamlamış olduk.
Bu bölümde QtCreator, CMake programlarının kurulumunu anlattık ve OpenCV ile proje oluşturma, derleme ve çalıştırma işlemleri yapıldı.
Serinin sonraki bölümlerinde OpenCV kütüphanesi kullanılarak resim üzerinde filtreleme işlemleri yapılacaktır. Ayrıca yapılan projeleri robotik olarak gerçekleştirmek için GPIO pinleri kullanılacaktır. Robotik proje olmadığı zaman ise projemiz için arayüz oluşturulacaktır.
Proje dosyasına,
https://github.com/enesdoruk/OpenCV_NVIDIA_JETSON/tree/master/opencv_giris
github hesabımdan ulaşabilirsiniz.
Görüşmek dileğiyle.
jetson nano karrtı sadece c++ ile mi kodlanıyor? ya da başka hangi yazılım diller ile kodlanabilir?