Ответ 1
Обратите внимание, что приведенный ниже ответ соответствует дате, и некоторые факты могут быть очень устаревшими в ближайшем будущем. Текущее состояние официального Kinect SDK - бета 1,00.12.
Первое очевидное различие заключается в том, что официальный SDK поддерживается командой Microsoft Research, а OpenKinect - это SDK с открытым исходным кодом, поддерживаемый сообществом с открытым исходным кодом. У обоих есть свои минусы и плюсы.
- Официальный SDK разработан Microsoft, который также разрабатывает аппаратное обеспечение и поэтому должен знать внутреннюю информацию об устройстве, которое общество с открытым исходным кодом должно перепроектировать. Очевидно, что это преимущество Microsoft.
- Microsoft вкладывает много денег в это устройство, и я уверен, что они будут делать то, что, по их мнению, необходимо, чтобы поддерживать их SDK. Наличие экономики за ней дает много преимуществ.
- С другой стороны, никогда не стоит недооценивать силу общества с открытым исходным кодом: "сообщество OpenKinect состоит из более чем 2000 членов, которые вносят свое время и код в проект. Наши участники присоединились к этому проекту с целью создания максимально возможного набор приложений для Kinect. OpenKinect - это настоящее сообщество с открытым исходным кодом!" - http://openkinect.org/wiki/Main_Page.
- OpenKinect был выпущен задолго до официального SDK, поскольку устройство kinect было взломанно в первый или второй день его выпуска. Престижность OpenKinect!
Поддерживаемые языки программирования:
- Официальный SDK: С++, С# или Visual Basic с использованием Microsoft Visual Studio 2010.
- OpenKinect: Python, C, С++, С#, Java, Lisp и многое другое! Очевидно, что не требуется Visual Studio.
Поддержка операционных систем:
- Официальный SDK: устанавливается только в Windows 7.
- OpenKinect: работает на Linux, OS X и Windows
Ясно преимущество OpenKinect.
Лицензия:
- Официальный SDK находится в текущем бета-состоянии только для тестирования. SDK был разработан специально для поощрения широких исследований и экспериментов с академическими, исследовательскими и энтузиастскими сообществами. коммерческие приложения не разрешены. Обратите внимание, что это, вероятно, изменится в будущих выпусках SDK. Посетите FAQ для получения дополнительной информации
- Приложения OpenKinect могут быть открыты для коммерческого использования, но онлайн-источники заявляют, что это может быть не так просто. Я бы хорошо рассмотрел условия, прежде чем выпускать с ними коммерческие приложения. Прочтите Kinect - последствия лицензирования открытых аппаратных проектов для получения дополнительной информации.
Документация и поддержка:
- Официальный SDK: хорошо документирован и предоставляет форум поддержки
- OpenKinect: появляется список рассылки, твиттер и irc. но нет официального форума/ОК? Документация на веб-сайте не такая богатая, как мне бы хотелось.
Калибровка устройства:
Различные устройства Kinect могут немного отличаться в зависимости от партии, в которой они были изготовлены. При этом иногда требуется калибровка устройства. Но:
- Официальный SDK не предоставляет никаких настроек калибровки, но мне пока не пришлось откалибровать устройство, над которым я работаю. Согласно чему-то, что я читал онлайн (ссылка потеряна) во время производства, параметры калибровки записываются на устройство kinect, поэтому с официальной калибровкой SDK не требуется.
- OpenKinect предлагает калибровку устройства: http://openkinect.org/wiki/Calibration. Таким образом, я считаю, что вы должны откалибровать свое устройство, если вы идете с OpenKinect.
Если верно, что калибровка необходима только для OpenKinect, это большое преимущество для официального SDK, так как проще распространять и устанавливать приложения без такой необходимости.
Лично, после неудачной попытки с OpenKinect SDK я пошел с официальным SDK, который
- появились драйверы, установленные из коробки
- пришли примеры и код для легкого перехода в бизнес
- Все-в-одном: я мог бы начать собственное развитие в течение 15 минут или около того.
- Теперь, после работы с Kinect в течение нескольких месяцев, я должен сказать, что я вполне доволен предоставленным API. Однако я не могу сравнить его с SDK OpenKinect, поскольку я на самом деле никогда не работал (но, возможно, это не дало ему честной попытки).
UPDATE:По состоянию на 1 февраля 2012 года для официального SDK имеется коммерческая лицензия: "Коммерческая лицензия на этот выпуск разрешает разработку и распространение коммерческих приложений. Предыдущий SDK был бета-версией и, как результат, был подходящим только для исследований, тестирования и экспериментов и не был подходящим для использования с конечным коммерческим продуктом. новая лицензия позволит разработчикам создавать и продавать свои приложения Kinect для Windows для конечных пользователей с использованием оборудования Kinect для Windows на платформах Windows". Часто задаваемые вопросы разработчика