Перейти к содержимому
Compvision.ru

Поиск по сайту

Showing results for tags 'OpenCV'.



More search options

  • Search By Tags

    Введите теги через запятую.
  • Search By Author

Тип содержимого


Категории и разделы

  • Пакет OpenCV
    • OpenCV
    • Новости
    • Вопросы взаимодействия OpenCV + GDI, GDI+
  • Дополненная реальность (ARToolkit и др.)
    • ARToolkit
  • Нейросети
    • Вопросы по нейросетям и ИИ
  • Общие вопросы
    • Обсуждение общих вопросов
  • Другое

Найдено 93 результата

  1. Всем добрый день! Подскажите плиз с помощью каких средств можно сократить время цикла распознавания лиц? Если быть точнее, то необходимо оптимизировать работу функции model->predict(); При добавлении более 100 лиц в модель, время затрачиваемое на определение лица и присваивание метки увеличивается кратно 1 лицо 1 мс, таким образом получается что если искать совпадение в модели которая имеет порядка 200 лиц, в среднем на один цикл распознавания затрачивается 150 мс, из-за этого видеопоток начинает тормозить. 1) подскажите какой метод наиболее эффективно использовать? TBB, OpenMP, GPU или есть чтото более оптимальное? 2) можно ли распараллелить работу функции model->predict()? Модель создается с помощью createLBPHFaceRecognizer().
  2. Вопрос по CvWriter

    Переношу проект с VS на Builder 6. Использую opencv 1.1. При записи файла с помощью CvWriter файл не содержит информацию по количеству кадров и его размерам. На VS но с версией opencv 2 все работает нормально!
  3. Плывет изображение

    Всем доброго времени суток! Столкнулся с проблемой. Тестирую код из книги Mastering OpenCV глава 8. И не пойму по какой причине видео с вебкамеры начинает тормозить (задержка примерно 3 сек) и искажаться через определенное время (10-30 сек) после запуска режима распознавания лица. То есть в режимах когда идет сбор лиц или просто режим определения, картинка не тормозит и не искажается, но как только включаю режим распознавания лица начинаются проблемы (файл прикрепил). 1) Пробовал запихать цикл распознавания в таймер. не помогло. 2) Пробовал запускать в отдельном потоке (выставлял разные Sleep(1-30)). не помогло. 3) Пробовал выводить изображение как через функцию imshow, так и на форму (MFC C++), тоже не дало результатов. 4) Утечка памяти замечена не была. Если кто-нибудь сталкивался с подобной проблемой, подскажите плиз как ее решить?
  4. В компанию "Ситроникс" (sitronics-cams.com) требуется программист С/С++ для разработки приложений систем машинного зрения. Требования: - хорошее знание С/С++, openCV для windows или linux систем. - опыт использования любой системы контроля версий - примеры кода для ознакомления Плюсом будут: - знание Python, Java, matlab - опыт самостоятельной разработки алгоритмов машинного зрения Условия: - офис рядом с м. Петровско-Разумовская - полное соблюдение ТК РФ Компенсация обсуждается индивидуально с каждым кандидатом..
  5. Добрый день, ищу исполнителя на мобильное приложение ios/android c Основными функциями:- буферизация видео (по команде идет сохрание нужного куска видео)- online определение скорости движущихся объектов на видео которое снимает в данный момент камера телефон- распознавание номеров этих объектов прошу писать tasheal@gmail.com кто готов реализовать Спасибо! Андрей
  6. Добрый день господа! Помогите плиз. Дело в том что в стандартной библиотеке для ip камеры есть функция которая получает изображение в формате char** вот эта функция: GetVideo(handle, (char**)&Frame, &Len,fmt,&Speed); Мне необходимо сконвертировать изображение в cv::Mat, сделать обработку, и затем сконвертировать обратно в char**. Как это правильно сделать? Пробую вот так: cameraFrame = cv::Mat(h, w, CV_8UC1, *Frame->data); Но при выводе imshow("namewindow",cameraFrame); выводиться черный квадрат..
  7. Mastering opencv глава 8

    Всем доброго дня! Кто нибудь может помочь запустить пример из главы 8 по книге, которая описывается в начале ветки https://github.com/MasteringOpenCV/code Дело в том что я использую VS2010 + OpenCV 3.1, а исходники данного примера используют более старую версию библиотеки OpenCv 2.4.1. Спустя несколько часов, всеже удалось запустить слегка модифицированный код из книги под версией библиотеки opencv 3.1, но столкнулся с проблемой. В новой версии библиотеки такие функции как model->get<Mat>("mean"); были заменены на model->getMean(). И если раньше функцию можно было вызвать из FaceRecognizer, то теперь ее можно вызвать только из BasicFaceRecognizer. Соответственно, я изменил все функции в коде из примера по книге, таким образом что вместо FaceRecognizer теперь используется BasicFaceRecognizer. Проект запускается без проблем, ошибок никаких не выдает, но функция распознавания не работает. То есть лица не определяются. Если запускаю проект с версией библиотеки 2.4.11 все работает нормально. Покопавшись с проблемой в debug режиме я понял что под версией библиотеки 3.1 ряд функций просто не выполняются и выдают пустые значения. Прошу помочь разобраться, и если ктонибудь поделиться работающим проектом из книги собранным под VS2010 opencv 3.1 буду очень признателен. Спасибо.
  8. Различие между OpenCV 2.4.11 и OpenCV 2.4.3

    1. В чем разница между OpenCV 2.4.11 и OpenCV 2.4.3. Где бы найти перечень и описание стандартных функций OpenCV 2.4.11. 2. В чем принципиальная разница между Visual C++ 2010 и Visual C++ 2013.
  9. Парковочная система

    Добрый день, появилась задача связанная с парковочной системой, а именно определению количества занятых и свободных парковочных мест, ничего нового впринципе. Необходимо решить проблему связанную с изменением освещенности, отражениями от поверхностей, бликами. Первоначально использовал простые методы по детектированию авто такие, как вычитания изображения из базового статического кадра и последующие бинарные, морфологические и т.д. преобразования на простых тестовых видеозаписях (статичное освещение, нет бликов, нет отражений) это давало неплохие результаты. На сложных или более естественных видеозаписях, где происходит смена освещения и т.д это не работает. Стал смотреть в сторону адаптивных моделей фона, в частности BackgroundSubtractorMOG2, проблемы с фоном решились, но появились новые. Например переход объектов переднего плана к модели фону, в связи с чем невозможность детектирования малоподвижных или статических в определенный момент времени объектов. Так вот если кто то сталкивался с такими проблемами и успешно решал не могли бы вы подсказать пути их решения?
  10. Всем привет. Дошли тут у меня руки наконец плотно заняться Deep Learning. Для тестов выбрал фреймворк caffe, как один из самых популярных и просто интегрирующихся с opencv. И тут сразу возникла непонятная проблема: выбрал я топологию сети (нечто похожее на LeNet), составил обучающую/тренировочную выборки(выборка тренировочная правда не сбалансирована, но вряд ли это является причиной наблдаемого поведения) и начал тренировать методом стохастического градиентного спуска. Первое подозрительное поведение: сетка буквально за 100-1000 итераций скатывается в некое состояние равновесия с не слишком высоким detection rate и сидит в нем до конца обучения (даже после >1000000 итераций картина особо не меняется). Ну ок, решил что у меня офигенная архитектура сети и все так быстро учится...заинтегрировал это в opencv приложение и тут вылезло второе подозрительное поведение: на любые входные данные сеть генерирует один и тотже отклик...если брать сетки с разных эпох, то картина меняется численно но качественно всегда наблюдаю одно и тоже поведение. Кто-то сталкивался с подобными проблемами и возможно знает в чем может быть причина? Заранее спасибо.
  11. Выделение по цвету кожи

    Попытаюсь структурировать всю свою кашу в голове: По совету дипломного руководителя изображение переводится в CIELAB формат, но везде почему-то используют HSV, кто прав? И в чем преимущества Lab'a перед HSV? Как я понял существуют несколько способов распознавания по цвету кожи: 2.1 Ранжирование диапазона значений каждого канала. Я использую следующий код: cvtColor(vFrame, vFrameLab, cv::COLOR_BGR2Lab); inRange(vFrameLab, Scalar(mLmin, mAmin, mBmin), Scalar(mLmax, mAmax, mBmax), vFrameLab); imshow("LAB", vFrameLab); 2.2 Выделение мышкой участков кожи и поиск таких участков на изображении. Цитата из данной статьи: 2.3 Модификация метода (дипломный руководитель называет это калибровкой), суть: 10-20 секунд камера снимает руку при этом вычитая задний фон и запоминает яркость руки. После этого она должна по идеи распознавать только цвет кожи. Появились проблемы на пункте 2.1 ранжирование диапазонов каналов. 3.1. Сильно зависит от освещенности, при дневном свете нужны одни параметры, например: mLmin = 60; mLmax = 155; mAmin = 120; mAmax = 143; mBmin = 139; mBmax = 161; А при искусственном освещении другие. 3.2. объекты похожие на цвет кожи: дверь, мебель и т.д. цепляются и в итоге становится каша на изобажении. Конечный результат который надо получить: У всех ли так работает метод 2.1? Цепляя другие объекты типо дверей и мебели? Подскажите как быть?
  12. Windows Opencv 2.4.11 Создал в Qt Creator простейший проект: #include "mainwindow.h" #include <QApplication> #include <QtGui> #include <QTest> #include "opencv2/opencv.hpp" #include <opencv2/highgui/highgui.hpp> #include <stdlib.h> #include <stdio.h> #include <iostream> using namespace cv; using namespace std; VideoCapture *m_video; double m_dWidth; double m_dHeight; Mat GetVideoFrame() { Mat frame; if (!m_video->isOpened()) { std::cout << "Stream cannot be opened" << std::endl; } m_video->read(frame); //get one frame form video if (frame.empty()) { std::cout << "Error reading video frame" << endl; } return frame; } int main(int argc, char *argv[]) { Mat frame; m_video = new VideoCapture(); m_video->open("C://2222.mp4"); // open the video namedWindow("TestCamera",CV_WINDOW_AUTOSIZE); //create a window StartVideo(); while (1) { frame = GetVideoFrame(); imshow("TestCamera", frame); //show the frame //QTest::qSleep(1); QTest::qWait(1); //cvWaitKey(); } cvWaitKey(); return 0; } Видео по сравнению с оригиналом проигрывается с замедлением. Пробовал реализовывать задержки между кадрами разными средствами, но ничего не помогло. В чём может быть причина замедленного воспроизведения?
  13. Как очистить матрицу Mat

    Есть переменная frame типа Mat Mat frame; Я с ней работаю. И потом ее нужно обнулить так чтобы при вызове if(frame.empty()) данное условие возвращало истину. Как это сделать? С заранее спасибо.
  14. Добрый день, форумчане. Была уже похожая тема, но на этот раз все ушло дальше, а чем дальше, тем интереснее. Имеем сравнивание 2х изображений средствами ASIFT, 300 изображений, гору энтузиазма и ТЗ. =) Требуется скомпоновать все изображения относящиеся к одному зданию по папкам. А теперь собственно то, с чем хочу к вам обратиться: можно сравнивать каждое изображение с каждый(тупо брутфорсом), да, метод действенный, но чем больше изображений, тем больше временные затраты на их матчинг( после 10 изображений на каждое уходит по 2 сек, ближе к 60 уже по минуте, а у нас их 300), я слышал про такую штуку как kd tree, но в упор не понимаю как ее припилить к моему модулю. Может ли кто то дать пример с этой штукой/дать пример конкретно к моей задаче(омг как же я буду благодарен)/подсказать другие варианты сравнения изображений(напомню что используем ASIFT). На 300 изображений уходит слишком много времени на данный момент.
  15. OpenCV 3.0!

    Долгожданный релиз! Просто скопирую сюда часть новости:
  16. отслеживание объекта

    Здравствуйте! Тема такая - по конвейеру идут объекты, их надо посчитать, я обучил каскадный классификатор (процентов 90 он определяет - иногда проскакивают кадры где не определяется , но в целом каждый объект определен), вытащил координаты найденных объектов, пытаюсь сделать счетчик по расстоянию до условной линии. Но натыкаюсь на то, что он считает объекты по количеству кадров т.е был объект 5 сек в кадрах со скоростью 5к\сек получили 25 объектов. Еще сложнее если вдруг появляется два объекта. Попытался сделать с ROI - вырезал небольшой участок и на нем уже получил очень близкие к достоверным результаты. Но понимаю что это неправильно. Помогите как отслеживать именно найденный объект (видел ролики где над объектом пририсовывалась цифра и не менялась по всему треку слежения) и сравнивать расстояние до линии. Возможно ли реализовать чтоб в центре объекта ставилась точка и слежение происходило за ней?, Я пробовал, но к 10 кадру у меня 8-10 таких точек в центре объекта. и не смог реализовать удаление не всех точек на экране а тех которые вышли из заданной области у меня через пару минут в верхней области экрана пару сотен таких точек. Извините за "многобукаф".
  17. Доброго времени суток! Пишу детектор знаков ограничения скорости(в компьютерном зрении новичек), реализация фильтра и поиска координат уже есть(детектирование красного кольца работает приемлемо), теперь осталось распознать текст внутри знаков (5,10,20,30,40... и т.д.), моя идея такова: создать по 300 положительных и по 600 отрицательных изображений для каждого знака(а конкретнее текста внутри знака, так как поиск изображения с текстом думаю делать в уже вырезанном изображении, согласно координатам и данным, полученных из предыдущих действий), с помощью программы: opencv_createsamples.exe и opencv_haartraining.exe - создать XML-файл "cascade.xml" для каждого знака(точнее для тех выборок 300х600 фотографий). После чего загрузить их в программу и выполнять поиск знаков по очереди подставляя каскады разных знаков, например как-то так: подставляем каскад знака 90 если в кадре находим 90 то выход, иначе подставляем каскад знака 80... и так в цикле. Каскад собираюсь делать согласно этой статье. Одна из положительных картинок 208.bmp (и да, я знаю что она большая,но пока не знаю какой размер конкретно нужен) Собственно вопрос: 1) подходит ли мой алгоритм? 2) если нет, как это лучше сделать? Предпочтительно: C# ,OpenCvSharp Библиотека: OpenCv СпаСиБо!
  18. Суть проблемы: JavaCameraView неправильно реагирует на ориентацию телефона в 3 из 4 случаях. Правильная ориентация только в альбомном виде когда кнопка home справа. Скринсшоты с пояснениями под спойлером: Код из примера Sample - Face detection, без всяких изменений имеет такое поведение. Версия opencv 2.4.9. В багтрекере и в changelog не нашёл упоминания о проблеме. Полная печаль, уже месяца 3 периодически гуглю, но безуспешно. Как с этим справиться?
×