roboforum.ru

Технический форум по робототехнике.

Использование Navigator Tool Kit

Использование Navigator Tool Kit

EDV » 21 сен 2009, 11:08

Эта тема была выделена в отдельную ветку из темы «Автономная навигация робота»

Здесь я постараюсь ответить на вопросы по использованию библиотек навигации.


Итак, если Вы желаете управлять моделью, анализируя изображение с видеокамеры, вам понадобиться: радиоуправляемая модель, видеокамера с радиопередатчиком и приёмником, аккумулятор (для видеокамеры), USB TV тюнер (для оцифровки сигнала от видеокамеры) общей стоимостью всего 150$.

Если кто-то не знает, как подключить радиоуправление моделью к компьютеру, тогда вот подробное описание:
Как из дешевого китайского танчика (радиоуправляемая модель) сделать робоплатформу для проекта "Автономная навигация робота"

Программный пакет «Navigator»



Проект состоит из трех частей: драйвер управления роботом, приложение распознавания образов (GUI), и динамической библиотеки «Навигатор». Для компиляции приложения распознавания образов понадобится wxWidgets-2.8.x и OpenCV_1.0. Если у кого-то нет желания разбираться с GUI, то в проекте уже есть скомпилированный EXE-шник распознавателя и вам будет достаточно скомпилировать Navigator.dll, которая содержит алгоритм навигации. Для компиляции Navigator.dll необходима только библиотека OpenCV_1.0. Сборка проекта возможна компилятором Microsoft Visual C++ 6.0 (папка vc6.prj) и компилятором Microsoft Visual Studio 2008 (папка vc9.prj).

После инсталляции (и компиляции) библиотек wxWidgets-2.8.x и OpenCV_1.0 необходимо указать дополнительные папки для компилятора:

Options/Directories/Include files:
<Install_Dir>\OPENCV\CV\INCLUDE
<Install_Dir>\OPENCV\CVAUX\INCLUDE
<Install_Dir>\OPENCV\CXCORE\INCLUDE
<Install_Dir>\OPENCV\OTHERLIBS\HIGHGUI
<Install_Dir>\OPENCV\OTHERLIBS\CVCAM\INCLUDE
<Install_Dir>\WXWIDGETS-2.8.10\LIB
<Install_Dir>\WXWIDGETS-2.8.10\LIB\VC_LIB\MSW
<Install_Dir>\WXWIDGETS-2.8.10\LIB\VC_LIB\MSWD
<Install_Dir>\WXWIDGETS-2.8.10\INCLUDE
<Install_Dir>\WXWIDGETS-2.8.10\INCLUDE\MSVC


Options/Directories/Library files:
<Install_Dir>\OPENCV\LIB
<Install_Dir>\WXWIDGETS-2.8.10\LIB
<Install_Dir>\WXWIDGETS-2.8.10\LIB\VC_LIB


Исходные тексты «Навигатора» можно скачать здесь:
http://edv-detail.narod.ru/Navigator_src.zip

Программный пакет «Navigator Tool Kit»



Состав (на 21.09.09):
Navigator_Tool_Kit\samples\LocationTree - пример нахождения траектории движения по визуальным ориентирам;
Navigator_Tool_Kit\samples\LocationSearching - пример определения текущего местоположения по контрастным «пятнам»;
Navigator_Tool_Kit\samples\BeaconsTest - пример использования AVM для поиска и прослеживания естественных маяков;
Navigator_Tool_Kit\samples\RcgExample - пример использования AVM для распознавания образов;
Navigator_Tool_Kit\samples\IdString - пример использования шаблонов «строк идентификаторов» из модуля «ListInterface.h».

Пакет «Navigator Tool Kit» можно скачать здесь:
http://edv-detail.narod.ru/Navigator_Tool_Kit.zip


Всё что касается программных пакетов «Navigator» и «Navigator Tool Kit» представлено исходными текстами программ, с примерами, и подробными комментариями на русском языке.

Исключением является только «закрытая» технология AVM, которая представлена в бинарном виде (библиотека). Но для любителей развивать свои собственные алгоритмы распознавания я предоставляю альтернативный «распознаватель образов» в исходниках.

Алгоритм «Классификации контрастных пятен»:
Navigator_Tool_Kit\include\ImageIdentification.h

Пример:
http://edv-detail.narod.ru/Navigator_Tool_Kit.zip
Navigator_Tool_Kit\samples\LocationSearching

====- 01.10.2009 -===
Для компиляции исходных текстов можно использовать "MS Visual C++ 2008 Express Edition" (я подправил "Navigator_src.zip" так что уже всё компилируется).

Для начала инсталляции, нужно внизу найти "Visual C++ 2008 Express Edition", (выбрать язык Русский по желанию) и нажать Download. Скачается инсталлятор на пару метров, который продолжит инсталляцию через инет (вытянет еще около ~50-70m). Все это официальное и бесплатное.

====- 21.10.2009 -===
Для тех, кто пожелает подключиться к экспериментам по навигации, решил написать небольшую инструкцию по переделки драйвера «Navigator\src\RobotController»:

Всё просто: приложение Recognition.exe взаимодействует с «драйвером робота» через общий участок памяти (gpKeyArray). Всё что нужно сделать - это по таймеру (метод CMainWnd::OnTimer) отправлять команды из «gpKeyArray» вашему роботу.

Код: Выделить всёРазвернуть
   // Коды команд робота
   enum {
      cmLEFT = 0,     // Влево
      cmBACKWARDS,    // Назад
      cmFORWARD,      // Вперёд
      cmRIGHT,        // Вправо
      cmTURRET_RIGHT, // Башня вправо
      cmFIRE,         // Залп
      cmTURRET_LEFT,  // Башня влево
      cmPOWER         // Включить/выключить питание
   };


При запуске режима навигации передается цепочка команд на включение робота (cmFIRE, cmPOWER), соответственно при отключении режима навигации команда на отключение (cmPOWER).

Ну и самое главное: команды cmLEFT и cmRIGHT не должны сами по себе вызывать повороты корпуса робота а только в сочетании с командами «вперёд», «назад» (cmFORWARD, cmBACKWARDS).

Приложение Recognition.exe после старта устанавливает разрешение камеры 640x480, так что перед стартом режима навигации нужно переключить разрешение на 320x240 (главное меню: Настройки \ Формат захвата изображения). Ещё необходимо скачать архив Go.zip распечатать «Иди сюда.doc», и загрузить «Go.dat» и теперь можно включать режим навигации.

В общем последовательность такая:
1) стартуем Recognition.exe;
2) загружаем «Go.dat» (главное меню: Распознавание \ Загрузить данные с диска);
3) устанавливаем разрешение 320x240 (главное меню: Настройки \ Формат захвата изображения);
4) включаем запись демонстрационного ролика (по желанию, главное меню: Распознавание \ Записать демонстрацию в AVI файл);
5) ну и наконец, запуск режима навигации (главное меню: Распознавание \ Режим навигации);
6) дальше показываем маркер «Иди сюда» в кадре, и следим за управлением (индикатор команд в левом нижнем углу).

Пример модифицированного драйвера управления роботом: RobotController_s1.zip

В COM порт каждые 50ms посылается массив из восьми байт, индицирующий текущее состояние команд роботу:

Код: Выделить всёРазвернуть
// Обработчик таймера
void CMainWnd::OnTimer(wxTimerEvent& WXUNUSED(event))
{
   // Коды команд робота
   enum {
      cmLEFT = 0,     // Влево
      cmBACKWARDS,    // Назад
      cmFORWARD,      // Вперёд
      cmRIGHT,        // Вправо
      cmTURRET_RIGHT, // Башня вправо
      cmFIRE,         // Залп
      cmTURRET_LEFT,  // Башня влево
      cmPOWER         // Включить/выключить питание
   };

/*
   for(int i=0; i<cKeyTotal; i++) {
      if(gpKeyArray->Key[i]) {
         switch(i) {
            case cmFORWARD:

               break;

            case cmBACKWARDS:

               break;

            case cmTURRET_LEFT:

               break;

            case cmTURRET_RIGHT:

               break;

            case cmFIRE:

               break;

            case cmPOWER:

               break;
         }
      }
   }
*/
   // Послать массив нажатых кнопок в COM порт
   CP_WriteCOMPort(mhCOMPort, gpKeyArray->Key, sizeof(TKeyArray));

   mpIndicator->SetKeyArray(gpKeyArray);
}


====- 22.10.2009 -===
При записи демонстрационного ролика, видео кодируется кодеком "XviD". Если этот кодек у вас не установлен, скачать пакет с кодаками можно здесь:

K-Lite Codec Pack Full 5.2.0


====- 07.12.2009 -===

Навигация из пункта «А» в пункт «Б» по визуальным ориентирам



Для навигации сначала указываются визуальные ориентиры «ворота», которые показывают, в каком направлении должен двигаться робот. Перед началом заезда, пользователю необходимо вдоль всей трассы расставить ворота, по которым робот будет продвигаться к конечному пункту назначения - цели. В качестве цели может быть использован любой образ, на который ранее был обучен «Навигатор».

Я обновил пакет «Навигатор»:
http://edv-detail.narod.ru/Navigator_src.zip

Что бы расставить «ворота» выберите из главного меню: «Распознавание/Режим установки ворот». Далее управляя роботом клавишами «вперёд», «назад», «влево», «вправо» и нажимая кнопку «Поставить ворота» расставляем визуальные ориентиры для продвижения робота. Для создания цели, необходимо выполнить обучение (пункт меню «Распознавание/Изучить объект») хотя бы на один объект, которые и будет конечной целью навигации.

====- 05.01.2010 -===

Навигация по контрольным точкам (checkpoints)



Итак, что показано в ролике
Устанавливаем робота в контрольной точке №2 и даём указание следовать в точку №1. Робот начинает осматриваться по сторонам, и когда видит ворота, которые соответствуют маршруту №1, начинает двигаться по коридору из «ворот» до контрольной точки №1. В контрольной точке №1 робот останавливается. Тогда роботу даётся указание следовать в контрольную точку №2, робот опять начинает осматриваться, находит ворота соответствующие маршруту №2 и возвращается обратно в точку №2.

Процедура обучения на маршрут
Для обучения необходимо в режиме установки ворот выбрать маршрут, на который будет обучаться робот и медленно (местами катаясь назад - вперёд), управляя роботом вручную, показать маршрут (ворота устанавливаются автоматически). В конце маршрута необходимо нажать на кнопку «контрольная точка» и робот, вращаясь несколько раз на одном месте, пометит текущее местоположение как контрольную точку.

Обновил программный пакет «Навигатор», так что если кому интересно, можете сами попробовать:
http://edv-detail.narod.ru/Navigator_src.zip

=======================================================================================================
=======================================================================================================
=======================================================================================================
Последний раз редактировалось EDV 11 янв 2010, 09:53, всего редактировалось 13 раз(а).

Re: Использование Navigator Tool Kit

=DeaD= » 29 сен 2009, 20:22

Попробовал собрать под MS Visual C++ 2008 Express Edition, кучу времени убил, пока понял как компилировать wxWidgets :)

Потом получил вот это:
1>------ Построение начато: проект: Navigator, Конфигурация: Release Win32 ------
2>------ Построение начато: проект: RobotController, Конфигурация: Release Win32 ------
2>Компиляция...
1>Компиляция...
2>StdAfx.cpp
1>Navigator.cpp
2>c:\robot\navigator\src\robotcontroller\stdafx.h(17) : fatal error C1083: Не удается открыть файл include: afxwin.h: No such file or directory
1>..\src\Navigator\Navigator.cpp(90) : error C2668: fabs: неоднозначный вызов перегруженной функции
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\math.h(557): может быть 'long double fabs(long double)'
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\math.h(509): или 'float fabs(float)'
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\math.h(119): или 'double fabs(double)'
1> при попытке сопоставить список аргументов '(int)'
1>Журнал построения был сохранен в "file://c:\Robot\Navigator\_temp\Navigator_DLL\Release\BuildLog.htm"
1>Navigator - ошибок 1, предупреждений 0
2>Журнал построения был сохранен в "file://c:\Robot\Navigator\_temp\RobotController\Release\BuildLog.htm"
2>RobotController - ошибок 1, предупреждений 0
3>------ Построение начато: проект: RecognitionApp, Конфигурация: Release Win32 ------
3>Компиляция...
3>RecognitionApp.cpp
3>Компиляция ресурсов...
3>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
3>Copyright (C) Microsoft Corporation. All rights reserved.
3>Компоновка...
3>Внедрение манифеста...
3>Журнал построения был сохранен в "file://c:\Robot\Navigator\_temp\vc_msw\RecognitionApp\BuildLog.htm"
3>RecognitionApp - ошибок 0, предупреждений 0
========== Построение: успешно: 1, с ошибками: 2, без изменений: 0, пропущено: 0 ==========

Неясно как быть с "afxwin.h" и с перегруженной функцией не понял чего делать.

Re: Использование Navigator Tool Kit

Виталий » 30 сен 2009, 07:55

Советую переименовать *.h в *.hpp если файл содержит реализацию.

Re: Использование Navigator Tool Kit

EDV » 30 сен 2009, 14:02

Похоже, эти ошибки связаны с особенностями компилятора «MS Visual C++ 2008 Express Edition». Давайте я попробую скачать эту версию компилятора и подправить под неё исходники. Дам знать, когда будет готово.

Ну или второй вариант: попробуйте внести изменения самостоятельно, а потом послать мне почтой модифицированные файлы (адрес почты указан в исходниках).

Re: Использование Navigator Tool Kit

=DeaD= » 30 сен 2009, 14:17

Ок, попробую, я просто думал - вдруг и так знаете, что за подключаемый файл.

Re: Использование Navigator Tool Kit

EDV » 30 сен 2009, 15:22

Я тут проконсультировался, и вот что говорят:

Demoniac писал(а):Компилятор у 2008х студий одинаковый, Экспресс эдишн отличается лишь набором заголовков - там не полный WinApi (без ATL и MFC). Других отличий нет.


А в приложении «RobotController» интерфейс на MFC.

Так что я попробую «RobotController» под wxWidgets переделать. Ну, или пока можно попробовать другой компилятор (в котором MFC библиотеки присутствуют).

Re: Использование Navigator Tool Kit

=DeaD= » 30 сен 2009, 15:30

Лучше переделать, думаю, т.к. я не один, а ставить хитрые компиляторы или тягать ворованные - только ради того, чтобы не переделывать интерфейс - ну его нафиг :(

Re: Использование Navigator Tool Kit

EDV » 01 окт 2009, 08:38

Ну что же, вчера до поздней ночи провозился, но всё успел сделать. Итак «RobotController» уже под wxWidgets и всё успешно компилируется.

Обновил: "Navigator_src.zip".

Re: Использование Navigator Tool Kit

=DeaD= » 01 окт 2009, 08:58

Ура! Сегодня вечером попробую собрать! Спасибо! :good:

Re: Использование Navigator Tool Kit

=DeaD= » 01 окт 2009, 19:40

Еще кстати можно описать как компилировать OpenCV (кстати, разве её надо?) и wxWidgets (с ней я чуток проплюхался :))

Добавлено спустя 18 минут 30 секунд:
Компиляция успешна.

Re: Использование Navigator Tool Kit

Vooon » 01 окт 2009, 19:41

А чем тебе классика ./configure && make && make install не нравится? :)

Re: Использование Navigator Tool Kit

=DeaD= » 01 окт 2009, 20:35

Тем, что для меня это далеко не классика ;)

Добавлено спустя 51 минуту 9 секунд:
Хм, ТВ-тюнер на нашел что-ли... ?

"Recognition.exe": Загружено: "C:\Robot\Navigator\bin\Recognition.exe", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\ntdll.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\kernel32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msvcrt.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\advapi32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\rpcrt4.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\secur32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\gdi32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\user32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\shlwapi.dll"
"Recognition.exe": Загружено "C:\Robot\Navigator\bin\cxcore100.dll"
"Recognition.exe": Загружено: "C:\Robot\Navigator\bin\libguide40.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\Robot\Navigator\bin\cv100.dll"
"Recognition.exe": Загружено "C:\Robot\Navigator\bin\highgui100.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\avifil32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\winmm.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ole32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msacm32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msvfw32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\shell32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\avicap32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\version.dll"
"Recognition.exe": Загружено: "C:\Robot\Navigator\bin\cvcam100.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\comdlg32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\oleaut32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\quartz.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msvcp60.dll"
"Recognition.exe": Загружено: "C:\Robot\Navigator\bin\Navigator.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\msvcp90.dll"
"Recognition.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\msvcr90.dll"
"Recognition.exe": Загружено "C:\Program Files\Agnitum\Outpost Security Suite Pro\wl_hook.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\MSCTF.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\uxtheme.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\clbcatq.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\comres.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\devenum.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\setupapi.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wintrust.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\crypt32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msasn1.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\imagehlp.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msdmo.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\qcap.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ksproxy.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ksuser.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\kswdmcap.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\mfc42.dll"
"Recognition.exe": Загружено: "C:\WINDOWS\system32\mfc42loc.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\WINDOWS\system32\vpwdm.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\ksxbar.ax"
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\vsfilter.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\winspool.drv"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wininet.dll"
Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011aef68..
Поток 'Поток Win32' (0xa00) завершился с кодом 0 (0x0).
"Recognition.exe": Загружено "C:\Program Files\Common Files\Nero\DSFilter\NeResize.ax"
"Recognition.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca\msvcp80.dll"
"Recognition.exe": Загружено "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca\msvcr80.dll"
Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011afa94..
Поток 'Поток Win32' (0x9b0) завершился с кодом 0 (0x0).
"Recognition.exe": Загружено "C:\WINDOWS\system32\kstvtune.ax"
Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011afa94..
Поток 'Поток Win32' (0x454) завершился с кодом 0 (0x0).
Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011afa94..
Поток 'Поток Win32' (0x104) завершился с кодом 0 (0x0).
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\ffdshow\ffdshow.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\msvcr71.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\dinput.dll"
TffdshowBase::Constructor
TffdshowDecVideo::Constructor
Join filter graph
Removed from filter graph
TffdshowDecVideo::Destructor
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\xvid.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\WINDOWS\system32\xvidcore.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Выгружено: "C:\WINDOWS\system32\xvidcore.dll"
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\divxdec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\olepro32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ddraw.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\dciman32.dll"
"Recognition.exe": Выгружено: "C:\WINDOWS\system32\ddraw.dll"
"Recognition.exe": Выгружено: "C:\WINDOWS\system32\dciman32.dll"
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\ac3filter.ax", Двоичный код не был построен с отладочной информацией.
TffdshowBase::Constructor
TffdshowDecAudio::Constructor
Join filter graph
Removed from filter graph
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\l3codecx.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\qasf.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmadmod.dll"
Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011afa94..
Поток 'Поток Win32' (0xcf0) завершился с кодом 0 (0x0).
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmvadvd.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\mp4sdmod.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmsdmod.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wsock32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ws2_32.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\ws2help.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmvdmod.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\mp43dmod.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\mpg4dmod.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\msadds32.ax"
"Recognition.exe": Загружено: "C:\WINDOWS\system32\acelpdec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\ddraw.dll"
"Recognition.exe": Загружено "C:\WINDOWS\system32\dciman32.dll"
"Recognition.exe": Выгружено: "C:\WINDOWS\system32\ddraw.dll"
"Recognition.exe": Выгружено: "C:\WINDOWS\system32\dciman32.dll"
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\vp6dec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\CoreVorbis.ax", Двоичный код не был построен с отладочной информацией.
CCoreVorbisDecoder::Clean"Recognition.exe": Загружено "C:\WINDOWS\system32\msscds32.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmvds32.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmv8ds32.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\mpg4ds32.ax"
"Recognition.exe": Загружено "C:\WINDOWS\system32\qdv.dll"
"Recognition.exe": Загружено: "C:\Program Files\K-Lite Codec Pack\filters\vp7dec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\Program Files\VideoMate\ComproDTV 3\Filters\ComproADec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\oleacc.dll"
"Recognition.exe": Загружено: "C:\Program Files\VideoMate\ComproDTV 3\Filters\CproDec.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\WINDOWS\system32\ir41_32.ax", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено: "C:\WINDOWS\system32\ir50_32.dll", Двоичный код не был построен с отладочной информацией.
"Recognition.exe": Загружено "C:\WINDOWS\system32\wmspdmod.dll"
"Recognition.exe": Загружено: "C:\Program Files\Common Files\Nero\DSFilter\NeVideo.ax", Двоичный код не был построен с отладочной информацией.
Поток 'Поток Win32' (0x14c) завершился с кодом 0 (0x0).
Поток 'Поток Win32' (0xdcc) завершился с кодом 0 (0x0).
Поток 'Поток Win32' (0xc50) завершился с кодом 0 (0x0).
Программа "[1304] Recognition.exe: Машинный код" завершилась с кодом 0 (0x0).

Re: Использование Navigator Tool Kit

EDV » 02 окт 2009, 09:54

Первый этап обработки исключения в "0x7c812a6b" в "Recognition.exe": Исключение Microsoft C++: int по адресу 0x011aef68..

Попробуй скомпилировать проект «RecognitionApp» с отладочной информацией (установи «Select Active Configuration» в режим «Win32 Unicode Debug») и запусти под отладкой в среде разработки Visual Studio. Постарайся найти точку сбоя (там, где программа завершается аварийно).

"Recognition.exe": Загружено: "C:\Program Files\Common Files\Nero\DSFilter\NeVideo.ax", Двоичный код не был

Деинсталлируй «Nero», в его фильтры для «Direct Show» встроена защита от отладчика (он тебе отлаживаться не даст, выдаст предупреждение и завершит приложение).

=DeaD= писал(а):Еще кстати можно описать как компилировать OpenCV (кстати, разве её надо?) и wxWidgets (с ней я чуток проплюхался :))

Хорошо, займусь, сделаю описание в деталях.

По «OpenCV», для отладки тебе необходимо будет скомпилировать "<Install_Dir>OpenCV\_make\opencv.dsw".

Компилятор скажет, что это формат старой версии Visual Studio и предложит конвертировать в новый. Соглашайся, после этого всё компилируется без проблем.

Да, вот ещё, совсем забыл, нужно запустить "<Install_Dir>\Navigator\StartMe.bat" он зарегистрирует Direct Show filter: "proxytrans.ax". Я заметил, что у тебя его нету в списке загрузки.

Добавлено спустя 1 час 6 минут 41 секунду:
=DeaD= писал(а):Компиляция успешна.

Вот ещё идея, попробуй распаковать Navigator_src.zip и запустить "<Install_Dir>\Navigator\StartMe.bat" без компиляции. Там Recognition.exe собран Microsoft Visual C++ 6.0 (папка vc6.prj). Возможно, по какой-то причине, у тебя после компиляции получился нерабочий код.

Re: Использование Navigator Tool Kit

=DeaD= » 02 окт 2009, 09:56

Ок, попробую вечером, только видимо уже поздно вечером :) еще попробую с вебкамерой.

Re: Использование Navigator Tool Kit

=DeaD= » 05 окт 2009, 22:42

Через StartMe.bat нормально запустилось. Сейчас остальное проверю.

Добавлено спустя 21 минуту 46 секунд:
Удалил Nero и всё замечательно заработало, реально он мешался. Теперь надо будет разобрать чего там понаписано в этом проекте, чтобы понять откуда начинать копать :)


Rambler\'s Top100 Mail.ru counter