ARToolkit: в видео не обнаружены маркеры

Я пытаюсь использовать ARtoolkit для обнаружения маркеров в ряде видео. Для каждого источника видео я инициализирую arHandle, используя следующий код:

    ARParam         cparam;
AR_PIXEL_FORMAT pixFormat = AR_PIXEL_FORMAT_RGB;

cparam.xsize = 1000;
cparam.ysize = 800;
cparam.dist_function_version = 1

for(int i = 0; i < 4; ++i){
cparam.dist_factor[i] = calib.distParams[i];
}
for(int i = 0; i < 3; ++i){
for(int j = 0; j < 3; ++j){
cparam.mat[i][j] = calib.K(i,j);
}
}
for(int i = 0; i < 3; i ++){
cparam.mat[i][3] = 0.0f;
}

arParamDisp( &cparam );

if ((gCparamLT = arParamLTCreate(&cparam, AR_PARAM_LT_DEFAULT_OFFSET)) == NULL) {
ARLOGe("Error: arParamLTCreate.\n");
exit(-1);
}
if( (arHandle=arCreateHandle(gCparamLT)) == NULL ) {
ARLOGe("Error: arCreateHandle.\n");
exit(0);
}
if( arSetPixelFormat(arHandle, pixFormat) < 0 ) {
ARLOGe("Error: arSetPixelFormat.\n");
exit(0);
}
if( (arPattHandle=arPattCreateHandle()) == NULL ) {
ARLOGe("Error: arPattCreateHandle.\n");
exit(0);
}

patt_id.push_back(arPattLoad(arPattHandle, "hiro.patt"));

arPattAttach(arHandle, arPattHandle);

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

Затем я пытаюсь определить маркер «hiro» в каждом источнике видео, используя:

    arDetectMarker(arHandle, img.data);

где img — это cv :: Mat, представляющий каждый кадр видео в RGB. Тип opencv — CV_8UC3.

Тем не менее, я всегда нахожу, что markerNum = arGetMarkerNum (arHandle) = 0, для каждой камеры.

Кто-нибудь знает, почему у меня может быть эта проблема?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]