openCV
- Войдите на сайт для отправки комментариев
Сб, 28/07/2012 - 19:10
Добрый день!
Тема про openCV, установка, настройка и использование. Под использванием понимаю на первое время тривиальую задачу: координаты движущихся обьектов.
Прошу откликнуться людей, которым удалось таки запустить хотябы тестовые примеры.
В моем опыте все закончилось кучей ошибок в СИшке. То этого не найти, то того нет. Иначе вызывется кривая функция или не обьявленный метод. Целая куча... Ясно, что все упирается в грамотное подключение openCV к С++, прописать все инклуды и хедеры, все либы и магию.
Кто поборол все это?
P/s воможно, мою задачу можно решить другим путём, без openCV?
Всем спасибо за участие, тема интересна будет могим.
P/s воможно, мою задачу можно решить другим путём, без openCV?
Имеется ввиду более легким =)
P/s воможно, мою задачу можно решить другим путём, без openCV?
Всем спасибо за участие, тема интересна будет могим.
Я использовал для подобных задач Roborealm
Как скрестить C++ 2008 и openCV без бубнов вроде cmake?
Можно не скрещивать, а просто настроить компорт на котором ардуино и отправлять на ему координаты и прочие выбранные данные. Или если хочется что то написать то можно законектится с программой через телнет
Главная задача - определить на видеоряде/видеопотоке координаты движущихся обьектов.
Есть в программе детектор движения, дополнительно можно указать размер обьекта, его форму, цвет и т.д.
Программа будет следить за обьектом и отправлять на ком порт его координаты
Наверняка, это то что и нужно. Спасибо за ответ. А, программа работет с видео файлами на компьютере или можно захватить видео с вебки/платы захвата или файл из локальной сети?
UPD: увидал на забугорном сайте разработчика (?), вот это Multiple Image Sources (IEEE 1394 firewire, webcam, movie files, web images, etc.), главное - "картинки из веба", т.е. можно и видео, скорее всего?
Можно и с вебки, из файла я только картинки пробывал
Прога рабочая, пробовал на вебке, есть что интересного. Буду думать как применить, спасибо!
на неделе как раз пробовал подключить opencv к visual c++ express. Не смог :( Ошибка, что не может открыть файл, который include. Т.к. дела раньше с visual не имел, то на этом собсно всё и застряло. Поэтому вопрос "как подключить" еще актуален.
У меня ошибки в таком роде. Подключение С++ и openCV характерно для разных версий первого и второго. OpenCV старше 2.1 уже имеет на борту скомпилирование *.lib файлы для той же сишки, к примеру, а до 2.1 надо шаманить с makeром. Но всеравно нужно прописывать в сишке пути к openCV в "хедерах, инклудах, соурсах", к самому проекту тоже надо прописывать инклуды. Беда...
Но в этой связке, на мой взгляд, получится гибкое приложение, отвечающее именно на наши запросы.
За два дня мой самый интересный результат таков: проект скомпилировался, но ругался на использованные функции, типа cv::waitKey (вроде так), т.е. метод обьекта cv был не доступен, т.е. ничего хорошего.
Опробовал RoboRealm - интересная програмулина! Так сказать opencv в обертке. Жаль что платная :(
Из неизвестного пока непонятно как открыть сотни файлов и проанализировать их. Открыл первый файл, записал координаты объекта с него в текстовый документ, открыл второй файл........... в "Open" выделяет только по одному.
Update: нашел , есть там такой "метод". Потом вычислил значение переменной в каждом кадре, и записал их в txt файл. Блин, классная прога!)
Поковырялся совсем немного в ней, где там творить подобные вещи?
Да я сам только попробовал, как carduino.ru написал.
Общий смысл в том, что в окошке под рисунком\видео с камеры будет список действий, которые будут выполняться друг за другом, циклично.
img.alkad.org/images/94hjf.png
На моем скриншоте я:
открываю рисунки на диске D
делаю фильтр по синему цвету
нахожу центр синего предмета
Display variables - просто показывает значение переменной на экране.
высчитываю угол между центром экрана (это указано в свойстве) и центром синего предмета
сохраняю переменную в txt файл.
И это в цикле для каждого рисунка на диске.
И так, возвращаясь к теме. Где найти нормальный FAQ о том как подключить C++ к openCV?
Уточним, что версия последнего на данный момент "на сайте" это - 2.4.2.
Ну, у меня сомпилился проект и запустился.
Visual Studio ставил отсюда: thepiratebay.se/torrent/5494777/Microsoft_Visual_Studio_2010_Ultimate_x86-TKiSO
Инструкция сдесь: jepsonsblog.blogspot.hu/2012/07/installation-guide-opencv-24-with.html Делал всё один в один.
Ура, товарищи!
OpenCV успешно скрещен с C++2010Express!
Шло туго, т.к. 2010 сишка закончилась, триал я имею ввиду. А 2008 еще позволяла работать, но никак не хотела подключать openCV. Только что зарегив 2010 сишку сайте микрософта, бесплатно, ес-но на лету подключил эти самые вещи.
Побрыкалась правда, пришлось в дерикторию проекта кидать либы, но результат есть. Можно двигаться дальше!
Сишка продожает иметь мозги. Из тестового примера обнаружения лица имеем:
как бороть?
Как я и думал. Начав работу в матлабе я уже могу работать с полученым видеорядом. И это спустя 5 минут. Не неделя...5 минут.
UPD: низнай, какя там минута, 6ая или 8ая, но уже имеется тривиальное распознование движения. Поработать над фоном, и все готово.
скинь ссылочку на пример, попробую и я.
И можно поподробнее с матлабом? интересно, сам в матлабе часто работаю
В сишке: http://b.brainscode.com/2011/04/face-detection-opencv.html
В матлабе: http://rrc.dgu.ru/res/matlab/imageacquis/book1/2.html
Ну, Ваш код у меня скомпилился..... если перед ним еще прописать #include "stdafx.h"
Правда созданный экзешник запускается с ошибкой
#include "stdafx.h" естественно прописываю. Мороки по сравнению с матлабом - тьма
А ошибка, возможно, из-за того, что таже сишка любит, когда нужные либы в папке проекта.
И про матлаб, еще 10 минут и обнаружение лиц готово. Запустил, открыл хелп, готово, идем дальше.
Хм. у меня visual studio 2010. Настраивать опенсв по моей ссылке выше, больше ничего не делал. по вашей ссылке тупо скопировал код и нажал F5. больше ничего.
Значит, я проклят.
Ан нет, я вас обманывал. Нормально скомпилился код и прога. Только что писать в ней я что-то не пойму. какой еще cascade?
cerr << "ERROR: Could not load classifier cascade" << endl;
cerr << "Usage: facedetect [--cascade=<cascade_path>]\n"
" [--nested-cascade[=nested_cascade_path]]\n"
" [--scale[=<image scale>\n"
" [filename|camera_index]\n" << endl ;
На сегодня я забил =). Следующий подход завтра... ))
Работает! Ну капец, я вам скажу запрос нужно, чтоб его запустить
C:\Users\Diemon>"C:\Users\Diemon\Documents\Visual Studio 2010\Projects\OpenCVTest\Debug\OpenCVTest.exe" facedetect --cascade="C:\Users\Diemon\Documents\Visual Studio 2010\Projects\OpenCVTest\Debug\haarcascade_frontalface_alt.xml" C:\IMG_2820.JPG
Оно мне отвечает:
Processing 1 facedetect
Processing 2 --cascade=C:\Users\Diemon\Documents\Visual Studio 2010\Projects\OpenCVTest\Debug\haarcascade_frontalface_alt.xml
from which we have cascadeName= C:\Users\Diemon\Documents\Visual Studio 2010\Projects\OpenCVTest\Debug\haarcascade_frontalface_alt.xml
Processing 3 C:\IMG_2820.JPG
In image read
detection time = 1349.59 ms
Ну и собсно открывается картинка с распознанным лицом
http://www14.zippyshare.com/v/8545290/file.html - exeшник
норм!