Позвольте мне вначале сказать, что я инженер, а не фотограф. Типы камер, с которыми я работаю, стоят от десятков миллионов до сотен миллионов долларов, но я думаю, что для целей этих вопросов я мог бы быть в состоянии помочь.
Часто «датчик» дешев, но «датчик, который достаточно точен и предоставляет правильную информацию», невероятно дорог.
Большинство камер, вероятно, имеют акселерометр с 3 степенями свободы. Это означает, что вы можете получить 3 вектора ускорения относительно акселерометра (заметьте, я не сказал «в каком направлении вниз»). Чтобы определить направление «вниз», вам нужно выполнить трехмерное преобразование (не сложно) и предположить, что камера не движется (также, вероятно, достаточно легко). Затем вы должны определить, насколько он точен (был ли акселерометр смещен относительно фокальной плоскости, когда изображение было зафиксировано? Сколько из этого было связано с заводской калибровкой, а сколько - из-за проскальзывания после завода?). Затем вам нужно представить его пользователю (вы даете им все три измерения? Если вы даете им только два измерения, как вы кодируете третье измерение в этом?).
Таким образом, в конце концов, у вас есть больше программного обеспечения (инженеры-программисты стоят дорого), больше документации (документирование дорого), возможно, больше калибровки (калибровка дорого) для функции, которую мало кто поймет или использует.