Получить двумерный линейное пространство по форме трапеции внутри кадра изображения
В этом изображении, черный кадр является кадром изображения, а трапеция представляет собой прямоугольная плоскость, как показана с помощью камеры.
Я знаю координату пикселя из 4 углов и могу проходить через каждый пиксель внутри этой трапеции. Поскольку я не знаю/не могу знать векторы преобразования/вращения от камеры к плоскости, я бы хотел преобразовать пиксели в координаты [0,0] [1,1] в соответствии с положением внутри этой трапеции, так что я выбираю точку внутри трапеции и получить некоторые координаты в диапазоне [0, 0] [1, 1].
По линейному пространству я имею в виду создание ряда значений, которые варьируются от 0 до 1 линейно. Таким образом, одномерное линейное пространство от 0 до 1 на 100 шагов будет выглядеть как [0, 0.01, 0.02, 0.03 ... 1]. В этом случае я хотел бы сделать это, но в двух измерениях в трапеции. Если бы это был прямоугольник, это было бы тривиально, я не уверен, что есть способ сделать это для трапеции.
Например, каждая точка в линии левой стороны трапеции всегда будет X = 0, а y переходит от 0 до 1 линейно при перемещении вверх (хотя X-координата фактически изменяется в кадре изображения) ,
Взгляните на [барицентрических координаты для выпуклых четырехугольников] (HTTP: // stackoverflow.com/q/3154041/3426025) – BeyelerStudios
Или вы можете пройти через однородные координаты, как в ответах [здесь] (http://stackoverflow.com/q/10839998/3426025) – BeyelerStudios
Я думаю, что это больше похоже на , http://math.stackexchange.com/questions/13404/mapping-irregular-quadrilateral-to-a-rectangle –