Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Работа с OpenCV. Часть 1. Установка и Hello World

Anna | 3.06.2014 | нет комментариев
Навигатор:
Работа с OpenCV. Часть 1. Установка и Hello World

В этой серии статей будет расмотрена работа с библиотекой компьютерного зрения OpenCV. Для работы из под Java будет применяться интерфейс JavaCV.

Установка

Все ниже описанное сделано под управлением Linux Ubuntu 12.04!
Первым делом посещаем сайт JavaCV и скачиваем последную версию, дальше глядим на поддерживаемую версию OpenCV в разделе Required Software это OpenCV 2.4.6.x.
Идем на сайт OpenCV и скачивавем поддерживаемую на данный момент версию.

Если все прошло удачно у нас будет 2 архива:
opencv-2.4.6.1.tar.gz
javacv-0.6-bin.zip

Установка OpenCV

Для работы графики добавочно необходимо установить (ну и cmake если внезапно у кого-то не стоит):
apt-get install libgtk2.0-dev
apt-get install cmake

Команды для установки:
cd opencv-2.4.6.1/

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ./
на этапе cmake значимо просмотреть итог консоли и обнаружить такие строчки:

Java:
— ant: /usr/bin/ant (ver 1.8.2)
— JNI: NO
— Java tests: NO

Без JNI вы не получите JAR файл тот, что нам необходим, если вы увидели тоже что и я, то проверьте вашу $JAVA_HOME, скорее каждого она пуста… В идеале вы обязаны увидеть следующее:

— Java:
— ant: /usr/bin/ant (ver 1.8.2)
— JNI: /usr/lib/jvm/java-8-oracle/include /usr/lib/jvm/java-8-oracle/include/linux /usr/lib/jvm/java-8-oracle/include
— Java tests: YES

Продолжаем дальше:
make
make install
А пока они выполняються дозволено пойти и сделать себе кофе!

Работа в IDE

Создаем обыкновенное Java-приложение, и добавляем туда такие библиотеки:
javacv.jar
javacpp.jar
javacv-linux-*.jar

И испробуем вывести трансляцию веб-камеры в окно, и еще сберечь фото:

package Habr;

import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.*;
import com.googlecode.javacv.OpenCVFrameGrabber;
import static com.googlecode.javacv.cpp.opencv_core.cvFlip;
import static com.googlecode.javacv.cpp.opencv_highgui.*;

public class HelloWorld {
 public static void main(String[] args) {
     CanvasFrame canvas = new CanvasFrame("Webcam"); 

     canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);   

     FrameGrabber grabber = new OpenCVFrameGrabber("");  

     try {      

     grabber.start();      
        IplImage img;

        while (true) {
            img = grabber.grab();
            canvas.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight());
            if (img != null) {      
                cvFlip(img, img, 1);
                cvSaveImage("/home/vlad/1.jpeg", img);
                canvas.showImage(img);
            }
        }
     }
     catch (Exception e) {

     }
    }
}

Позже запуска дозволено увидеть себя, а потом обнаружить фото по указанному пути :) Я думаю пояснять что такое OpenCV, и что он может не нужно. Спасибо, это все.

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB