Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 88

Проблемы с OpenCV (JavaCV)

30.07.2013, 14:16. Показов 1447. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю программу с помощью OpenCV, которая находит разницу и сумму между изображениями. Проблема в том, что когда останавливаю цикл получения и обработки каждого кадра, вызываю метод релиза захватчика кадров (cvReleaseCapture) - программа на недолгое время зависает и закрывается. В консоли пишет Process finished with exit code -10737..... (коды каждый раз разные).

Исходник:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Encoder {
 
    public CvCapture capture;
 
    public IplImage getFrame() {
        capture = cvCreateCameraCapture(CV_CAP_ANY); //создаем захват с камеры
        IplImage cv_image = cvQueryFrame(capture);          //получаем кадр
        return cv_image;
    }
 
    public IplImage getDifference(IplImage cv_image1, IplImage cv_image2) {
        //создаем переменную для разницы изображений
        IplImage cv_diff = cvCreateImage(cvSize(cv_image1.width(), cv_image1.height()), cv_image1.depth(), cv_image1.nChannels());
        cvSub(cv_image2, cv_image1, cv_diff, null);    //определяем разницу между изображениями
        return cv_diff;
    }
 
    public IplImage getSum(IplImage prev_img, IplImage cv_diff) {
        //создаем переменную суммы изображений
        IplImage cv_sum = cvCreateImage(cvSize(prev_img.width(), prev_img.height()), prev_img.depth(), prev_img.nChannels());
        cvAdd(prev_img, cv_diff, cv_sum, null);       //определяем сумму изображений
        return cv_sum;
    }
 
    public void ReleaseCapture() {
        cvReleaseCapture(capture);  //остановка обьекта захвата кадров
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Main {
    public static void main(String[] args) {
        MainFrame frame = new MainFrame();
        Encoder encoder = new Encoder();
 
        IplImage first = encoder.getFrame();  //получаем первое изображение
 
        frame.showImage(first.getBufferedImage());
        while (frame.captureIsRunning) {
            IplImage next = encoder.getFrame();  //получаем второе изображение
            IplImage diff = encoder.getDifference(first, next); //получаем разницу между изображениями
            IplImage sum = encoder.getSum(first, diff); //получаем сумму
            cvReleaseImage(first);             //освобождаем первое изображение
            first = cvCloneImage(next);      //присвоение переменной первого изображения значение второго изображения
 
            frame.showImage(sum.getBufferedImage());
            //Освобождаем память
            cvReleaseImage(next);
            cvReleaseImage(diff);
            cvReleaseImage(sum);
        }
        encoder.ReleaseCapture();
    }
}
Помогите найти ошибку...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.07.2013, 14:16
Ответы с готовыми решениями:

JavaCV
Всем доброго времени суток! Кто-нибудь работал с javacv? Хотелось бы услышать совет по установке) Вот есть неплохая статья по...

JavaCV
Доброго времени суток, простите если оффтоп, такой темы на форуме не нашел. Подскажите пожалуйста где можно найти список функций(методов)...

Javafx и OpenCV(javacv) вывод потока из IP камеры
Необходимо в программу на JavaFX выводить поток из IP камеры. В сети нашел пример, который работает, но он создает отдельное окно, а мне...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.07.2013, 14:16
Помогаю со студенческими работами здесь

Обработка растровых изображений с применением библиотеки OpenCV: проблемы с LBPHFaceRecognizer и библиотекой pillow
Добрый вечер, форумчане! Я пытаюсь сделать программу для обнаружения лиц по инструкциям на этом сайте ...

Обработка растровых изображений с применением библиотеки OpenCV: проблемы с апроксимацией и нахождением вершин фигуры
Добрый день! Я - новичок в Python и начал изучать OpenCV по примерам на этом сайте: ...

Ошибка javacv
Привет всем! Создал проект на эклипсе но при запуске пишет: Перерыл интернет нет ответа делал по инструкции...

JavaCV где можно скачать?
Народ собственно вопрос: где можно скачать JavaCV для OpenCV 3.1 если можно дайте ссылку и если можно какую нибудь хорошую документацию по...

JavaCV Frame не конвертируется в IplImage
Народ вот код: OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0); try { grabber.start(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru