Как рассчитать углы поворота сервоприводов в моем случае? Здравствуйте. Есть программа, которая берет изображение с камеры (разрешение 640*480) и дает две координаты X равен к примеру 500 а Y = к примеру 250. Тоесть отсчитываем от левого верхнего пикселя 250 пикселей вниз и 500 вправо и это будут координаты пикселя, который является центром окружности, которую я держу в руке. Дальше... Есть определенный центр этого изображения с координатами X,Y = 320, 240 соответственно.
У меня есть ардуинка с сервоприводами. Сервоприводы, вебка и прочее соединяться примерно так www.parkflyer.ru/static/user_files/2013/9/1/IMG_06..
Вопрос. Подкиньте идею, какие математичекие операции надо совершить, чтобы вычеслить углы поворотов сервоприводов, чтобы они повернули камеру в такое положение, чтобы центр изображения совместился с центром окружности. Подкиньте саму идею (а еще лучше готовую библиотеку для c++)
П.С Сервоприводы могут крутиться от 0 до 180 градусов

21 Авг 2019 в 06:16
161 +1
0
Ответы
1

Для решения этой задачи можно использовать теорию треугольников и пропорций.

Найдите расстояние по X и по Y между центром изображения и центром окружности
deltaX = 500 - 320 = 18
deltaY = 250 - 240 = 10

Найдите максимальное расстояние по X и по Y от центра изображения до края изображения (320, 240)
maxX = max(abs(320-0), abs(320-640)) = 32
maxY = max(abs(240-0), abs(240-480)) = 240

Нормализуйте deltaX и deltaY к диапазону от -1 до 1
normDeltaX = deltaX / max
normDeltaY = deltaY / maxY

Теперь вы можете использовать нормализованные значения deltaX и deltaY для управления углами поворота сервоприводов. Например, углы поворота будут
angleX = normDeltaX 90 + 9
angleY = normDeltaY 90 + 90

Таким образом, сервоприводы будут поворачиваться в зависимости от положения центра окружности относительно центра изображения.

Что касается готовой библиотеки для C++, то, к сожалению, я не могу предложить конкретную библиотеку, так как такие задачи часто решаются индивидуально, но вы можете поискать подходящую библиотеку для управления сервоприводами в Интернете или попробовать написать свой алгоритм управления.

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир