Linux için opencv kurulumu

(Bu yazının daha güncel versiyonuna buradan ulaşabilirsiniz.)

Derleme ve kurulum işlemini yapacağım dağıtım mint olacaktır.

Kurulum işlemine başlamadan önce sisteminizde openjdk varsa onu kaldırarak oracle jdk kurmanızı tavsiye ederim aksi takdirde derleme sırasında jar dosyaları veya kütüphaneler eksik oluşturulabiliyor bir çok insanın native library ve jar dosyası oluşmuyor diye şikayet etmesinin de nedeni budur. Buradaki yazıdan bu işlemi nasıl yapabileceğinize bakabilirsiniz.

İlk olarak kullanmak istediğiniz sürümü http://opencv.org/downloads.html adresten indiriniz.İndirdiğiniz sıkıştırılmış arşiv dosyasını çıkartınız.Çıkarttığınız dizine geliniz ve terminal ekranını o dizinde açınız yada o dizine gidiniz.

mkdir build
cd build

build dizinini oluşturduk ve derleme işlemine geçeceğiz.

cmake -DBUILD_SHARED_LIBS=OFF ..

sıradaki adımda ise java-8-oracle olarak gördüğünüz dizin sistemde java jdk8 kurulu olduğu dizindir usr/lib/jvm/ dizininde kontrol ederek 6 veya 7 varsa yolu değiştirebilirsiniz openjdk varsa ilk adımdaki gibi oracle jdk 8 kurarak devam edebilirsiniz.

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
cmake -DBUILD_SHARED_LIBS=OFF ..

derlemeyi başlatıyoruz

make -j8

derlemenin tamamlanmasının ardından eclipse ile javada  bir örnek proje çalıştıralım.

Bir java projesi oluşturduktan sonra projeye jar dosyasını ve native library yolunu göstermemiz gerekiyor,bunun için buradaki http://docs.opencv.org/doc/tutorials/introduction/java_eclipse/java_eclipse.html#java-eclipse gibi yapabilirsiniz.

Ve kurulumun başarılı olup olmadığını kontrol etmek için örnek yapalım

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;

public class Main {

    static {
        System.out.println("java.library.path=" + System.getProperty("java.library.path"));
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args) {
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
        System.out.println("OpenCV Mat: " + m);
        Mat mr1 = m.row(1);
        mr1.setTo(new Scalar(1));
        Mat mc5 = m.col(5);
        mc5.setTo(new Scalar(5));
        System.out.println("OpenCV Mat data:n" + m.dump());
    }
}

çıktı olarak aşağıdaki sonucu aldıysanız kurulum başarı ile tamamlanmıştır.Oluşan hataları yazarsanız yardımcı olmaya çalışırım.

OpenCV Mat: Mat [ 5*10*CV_8UC1, isCont=true, isSubmat=false, nativeObj=0x7eff84199a30, dataAddr=0x7eff8419a7c0 ]
OpenCV Mat data:
[0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  1, 1, 1, 1, 1, 5, 1, 1, 1, 1;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0]

 

Video anlatım