получить эквивалентный пиксель двух разных широких разрешений

0

Я хочу получить эквивалентное расположение пикселей двух разных широких разрешений.

Вот пример.

В разрешении 1366x768 нужный пиксель находится в строке 120 и столбце 300. Я хочу преобразовать его в более низкое разрешение и получить эквивалент 120x300 точки от оригинала до конвертированного.

Теги:
opencv

1 ответ

1
Лучший ответ

Используйте проценты.

например, 120/1366=60/683= x ~ 0.0878 и 300/768=25/64= y ~ 0.3906. Теперь просто умножьте эти проценты на требуемое разрешение.

Например, если у вас есть разрешение 800x600 и хотите, чтобы эта позиция просто умножалась.

x = 800 * 0.0878 = 70.24
y = 600 * 0.3906 = 234.36

Это работает, потому что положение получило "нормализованное" положение, так что оно лежит между 0 и 1. Все, что вы умножаете, будет иметь те же "размеры". например, предположим, что мы хотим, чтобы позиция 400x300 с экрана 800x600 на другом экране, так что она имеет одинаковые соотношения. Мы можем сделать то же самое, что и ваша проблема:

x = 400 / 800 = 0.5
y = 300 / 600 = 0.5

Чтобы получить позицию для любого другого экрана, мы умножаем результат оттуда с разрешением.

процент

  • 0
    Извините за поздний ответ, проверим его позже и посмотрим, приведет ли он к желаемому результату. Во всяком случае, есть ли у вас какие-либо ссылки на это, что я могу прочитать?
  • 0
    добавил краткое объяснение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню