преобразование данных kinect в матрицу opencv

НОВИНКА ДЛЯ OPENCV И KINECT :)

Извините, если здесь есть другие подобные вопросы - я искал и все еще теряюсь.

Я пытаюсь использовать Microsoft Kinect SDK с opencv. Я просмотрел пример KinectBridgeWithOpenCVBasis в SDK, но нашел его слишком сложным.

Вот вопрос: я использую класс DepthSensor из этого site Я пытаюсь получить данные о глубине в матрице opencv. Код выглядит следующим образом:

DepthSensor *ds = new DepthSensor();
ds->init();
Mat frame;
ds->getDepthMat().copyTo(frame);
imshow("display", ds->getColorMat());

Я добавил ds->processDepth(); в разных точках, чтобы проверить, работает ли он. Точное сообщение об ошибке:

Ошибка OpenCV: утверждение не удалось (size.width> 0 && size.height> 0) в cv::imshow, файл C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\highgui\src\window.c пп, строка 261

и

Необработанное исключение по адресу 0x000007FEFC7B940D в opencvtest.exe: исключение Microsoft C++: cv::Exception в ячейке памяти 0x00000000001AF500.

Любые идеи о том, как я это исправить? Спасибо.

MT


person user3259040    schedule 08.03.2014    source источник


Ответы (1)


Я все еще новичок в OpenCV и Kinect, но я наткнулся на этот пост. Вроде описал аналогичную проблему. Если вы посмотрите на последний комментарий к любому из сообщений, ОП описал найденное решение:

Спасибо за ответ. Я понял проблему. Это был конфликт между 32- и 64-битными dll и компилятором. Когда я установил VS 2010 с superpack 2.3, компилятор, я думаю, пытается использовать сочетание x86 и x64 dll на основе способа его настройки в переменных среды и Vs2010. Я понял это, установив VS2010 на другой компьютер с компилятором, поддерживающим только x86, и у меня не было никаких проблем. Все работало нормально! Точно такая же установка, только один - X86, а другой - X86 и X64. Это не имело смысла, потому что компилятор должен правильно выбрать один? а не смесь x86 и 64 dll?

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

Наконец, похоже, что вы разместили только фрагмент своего кода. Я видел, как многие люди просили, чтобы вопросы включали полный код, чтобы его было легче отлаживать, и на случай, если вы пропустили ошибку где-то еще.

Удачи!

person Justin    schedule 24.03.2014