Linux İşletim Sistemi için OpenCV Kurulumu

Linux İşletim Sistemi için OpenCV Kurulumu

Linux işletim sistemi için OpenCV kütüphanesi kaynak kod olarak yani derlenmeden gelmektedir, bunun en temel sebebi birçok Linux dağıtımı olmasıdır. Temel olarak amaçlanan şey kullanmak isteyenin kendi sistemine ve kullanmak istediği programlama diline göre derlemesidir. Derleme işleminde Linux Mint kullanacağım ve tüm Debian dağıtımlarında tüm adımlar aynı olacaktır. Debian ve Debian çatallaması haricinde bir Linux dağıtıma sahipseniz, kullandığınız paket yöneticisine göre komutlar değişiklik gösterebilir, fakat bire bir olarak karşılıkları yer almaktadır.

OpenCV kurmak için öncelikle http://opencv.org/downloads.html adresinden kullanmak istediğiniz sürüm altında yer alan OpenCV for Linux/Mac bağlantısına tıklayarak OpenCV geliştiricisi olan Itseez’in Github hesabından kaynak kodları indiriyoruz. Dikkat ederseniz Linux ve Mac platformları için ayrı ayrı indirme bağlantısı bulunmamaktadır. OpenCV’nin C ve C++ dilleri ile platform bağımsız olarak geliştirildiği söylemiştik, bu sayede kaynak kodu indirerek istediğiniz platform üzerinde derleyerek çalıştırabilirsiniz.

İndirme işlemi tamamlandığında OpenCV’nin kaynak kodlarını içeren bir zip dosyası gelecektir. Bu zip formatında sıkıştırılmış dosyayı bir dizine çıkartınız. Bu dizinde kaynak kodun derlenmesi işlemini yapacağız.

3

Öncelikle işletim sistemi üzerinde JDK (Java Developer Kit) kurulu olması gerekmektedir. Java ile OpenCV uygulaması geliştireceğimiz için bunu kurmanız gerekmektedir. Kullandığınız dağıtımın paket yöneticisinden ya da aşağıdaki bağlantıdan veya aşağıdaki komutlar aracılığıyla depoyu ekleyip oradan indirip kurabilirsiniz.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer sudo apt-get install oracle-java8-set-default

 

Java kurulumunun ardından Apache ANT aracına ihtiyacımız var kurmak için aşağıdaki komut ile deponuzdan indirebilirsiniz ya da https://ant.apache.org/ adresinden kurulumu indirebilirsiniz.

sudo apt-get install ant

 

Linux üzerinde OpenCV çalıştırabilmek için bazı paketlere ihtiyacımız var bu paketlerden bir kısmı bazı Linux dağıtımlarında kurulu olarak gelmektedir. Bu paketleri aşağıdaki komut ile kurabilirsiniz.

sudo apt-get install g++ libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev build-essential

 

Derleme işlemine başlamadan önce Java yolunu sisteme eklememiz gerekiyor varsayılan olarak JDK usr/lib/jvm/ dizinine kurulur. Bu dizinde, kurduğunuz sürümün klasörünü görebilirsiniz. Yukarıda Oracle JDK 8 kurmuştuk ve bu klasörü yol olarak göstereceğiz, sizde sisteminizdeki JDK dosya yoluna göre aşağıdaki dizini  değiştirebilirsiniz.

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

 

Derleme için cmake aracını kullanacağız. Cmake platform bağımsız bir derleme aracıdır, üzerinde birçok derleyici yer alır ve o derleyiciye göre çıktı üretebilmektedir.

sudo apt-get install cmake

 

Yukarıda yer alan komut ile cmake kurulumunu yapıyoruz, kullandığınız dağıtımın deposunda yok ise https://cmake.org/download/ adresinden indirip kurabilirsiniz.

Gerekli araçları indirip kurduktan sonra artık derleme işlemine geçebiliriz. İlk adım olarak OpenCV’yi zip dosyasından çıkarttığımız klasöre gidiyoruz ve sırası ile aşağıdaki adımları takip ediyoruz.

mkdir build

 

İndirdiğimiz dizinde derleme işlemi sonucu için bir klasör oluşturuyoruz.

cd build

 

Oluşturduğumuz build klasörü içerisine gidiyoruz ve derleme işlemi için cmake aracını başlatıyoruz.

cmake -DBUILD_SHARED_LIBS=OFF ..

4

Bu komutun ardından cmake buil klasörü içerisine bazı dosyalar oluşturacak ve derlemeye başlamadan yapılacak olan işlemler için bir çıktı gösterecektir. Burada dikkat etmemiz gereken nokta java kısmı, eğer java başlığı altında ant ve JNI dizinleri karşısında NO ibaresi yer alıyor ise derleme işlemine başlamayınız, jar dosyasını ve sistem kütüphanesini oluşturmayacaktır. Bunun nedeni ant veya JDK kurulumlarının eksik veya java yolunun verilmemiş olmasıdır yukarıdaki adımları tekrardan yapınız. Eğer java başlığı altında aşağıdaki gibi dosya dizinleri görünüyor ise derleme işlemine geçebilirsiniz.

5

Hata ile karşılaşırsanız build/makefiles içerisinde yer alan error log dosyasına bakabilirsiniz. Derleme işlemini make komutu ile başlatacağız. Bu işlem sisteminizin donanıma göre değişiklik göstermektedir. make –j komutu ile derleme işlemini farklı threadlere bölerek bu süreyi hızlandırabilirsiniz, örneğin make –j4 ile derleme yaparsanız toplam işlemi 4 e bölerek, 4 ayrı iş parçası olarak çalıştırır. Eğer make –j ile derleme esnasında Process Kill hatası alırsanız sadece make komutunu kullanarak derleme işlemini yapın. Raspberry Pi gibi geliştirme kartları üzerinde OpenCV derleme işlemi yapacaksanız tamamlanma süresi biraz uzun olacaktır.

make –j4

 

Komutu ile derleme işlemini başlatıyoruz.

6

Derleme işleminin ardından build/bin içerisine opencv-3.jar gibi kurduğunuz sürüme göre ismi değişecek bir jar dosyası olacaktır.  Yine build/lib dizininde linopencv_java3.so (kurulan sürüme göre ismi farklılık gösterir) olarak native kütüphane dosyası olacaktır. Bu jar dosasını ve kütüphaneyi uygulama geliştirmek için kullanacağız.

 

Blogdaki örnek projeler için Eclipse ve Netbeans kullanılmıştır.  Java uygulamaları için en çok tercih edilen iki geliştirme ortamı içinde kurulum ve yapılandırma işlemi yapacağız. Siz tercih ettiğiniz ortam ile uygulamaları geliştirebilirsiniz.