(Bu yazının daha güncel versiyonuna buradanulaş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.htmladresten 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
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