=DeaD= писал(а):Ну вот и первый успех с адаптацией навигатора под другое шасси, правда пока коряво ездит, но уже ездит.
А вот как демку записать я не понял - вроде должен класть файл в каталог с .dat-файлом, но там его нету
Поэтому пока только фотка
Поздравляю! Вот только, хотелось бы видео поглядеть
Насчёт видео:
При записи демонстрационного ролика, видео кодируется кодеком "XviD". Если этот кодек у тебя не установлен, скачать пакет с кодаками можно здесь:
K-Lite Codec Pack Full 5.2.0
После активизации опции "Главное меню/Распознавание/Записать демонстрацию в AVI файл" приложение Recognition.exe стартует запись видео и отображает путь к файлу видео в окне «Информационное окно». Там будет напечатано приблизительно следующее: «Стартовал процесс записи демонстрации (файл: D:\Document and Settings\EDV\AVM\avm_demo.avi).», соответственно ролик нужно там и поискать.
Если что-то надумаете менять в записи демонстрационного ролика, тогда можно попробовать модифицировать метод «CMainWnd::OnWriteAVIdemo» (файл: Navigator\src\RecognitionApp\RecognitionApp.cpp):
- Код: Выделить всё • Развернуть
// Обработчик "Запись демонстрационного фильма"
void CMainWnd::OnWriteAVIdemo(wxCommandEvent& event)
{
wxString FileName = mDataDir + _T("avm_demo.avi");
if(event.IsChecked() && gStopWriteDemo) {
CvSize plImgSize = gpRcgPipeline->GetImgSize();
CvSize ImgSize;
ImgSize.width = 320;
ImgSize.height = (ImgSize.width*plImgSize.height)/plImgSize.width;
wxRemoveFile(FileName);
gOutAVI = cvCreateVideoWriter(FileName.ToAscii(), CV_FOURCC('x','v','i','d'), 25.0, ImgSize, 1 );
if(!gOutAVI) {
gOutAVI = cvCreateVideoWriter(FileName.ToAscii(), -1, 25.0, ImgSize, 1 );
}
gOutImg = cvCreateImage( ImgSize, 8, 3 );
gpRcgPipeline->Comment(wxString::Format(_T("Resolution: %ux%u"),
plImgSize.width, plImgSize.height));
gStopWriteDemo = false;
wxLogMessage(wxString::Format(_MST("\nDemo writing process is started (file: %s)."),FileName));
} else {
gStopWriteDemo = true;
m_Timer.Start(3000, true);
}
}
Опять таки, если ролик по-прежнему не удаётся записать, тогда можно попробовать скомпилировать Recognition.exe с отладочной информацией, и по шагам поглядеть куда происходить (не происходит) запись ролика, постараться выяснить причину (потому как у меня ролики пишутся).
Если сразу нужно, что бы разрешение захвата было 320x240 (а не 640x480 как сейчас), тогда нужно модифицировать вот это место в программе (файл: Navigator\src\RecognitionApp\RecognitionApp.cpp):
- Код: Выделить всё • Развернуть
// Инициализация захвата
wxSize CRecognitionPipeline::InitCapture(int aCamIdx, TCaptureSettings aCaptSet)
{
...
static VidFormat vidFmt = { 640, 480, 30.0};
// Установка настроек видео захвата по умолчанию
cvcamSetProperty(mCamIdx, CVCAM_PROP_SETFORMAT, &vidFmt);
...
}