Это мой первый пост!
Я пытаюсь создать приложение, которое может определить, являются ли определенные точки сетки (изображения) светлыми или темными. Исходная сетка четко определена (я знаю, где все точки должны быть относительно углов). Как только я знаю, где должна быть точка, я могу легко определить, светлая она или темная.
Проблема в том, что я хотел бы сделать это из изображения сетки, взятой с ручной камеры. Понятно, что из-за движения рук перспектива изменится, и мне нужно будет немного посчитать, чтобы выяснить расположение новых точек относительно углов (я знаю, как определять углы).
В других публикациях я читал, что единственные свойства, которые сохраняются во время трансформации, - это соотношение и частота. В частности, эта публикация направила меня в правильном направлении, но автор не закончил математику. Обратите внимание, что в этом примере автор переходит от перекошенной перспективы к виду «птичий глаз», а я пытаюсь сделать наоборот. Математика должна быть такой же.
Из проводки Проективное преобразование
(так что, очевидно, я не могу публиковать изображения, потому что я новичок, но изображение находится на вышеуказанном посте)
1) Найдите точку C 'на пересечении линий, определенных отрезками AD и CP.
2) Найдите точку B 'на пересечении линий, определенных отрезками AD и BP.
3) Определить соотношение B'DAC ', т.е. r = (BA' * DC ') / (DA * B'C').
4) Построить спроецированную линию F'HEG '. Соотношение этих точек равно r, то есть r = (F'E * HG ') / (HE * F'G').
5) F'F и G'G будут пересекаться в проецируемой точке Q, поэтому, приравнивая перекрестные отношения и зная длину стороны квадрата, вы можете определить положение Q с некоторой арифметической гимнастикой.
Мой вопрос - шаг 4, Построение линии F'HEG '. Можно ли построить линию из 4 точек, просто зная 2 точки и желаемое соотношение? Я чувствую, что это 1 уравнение с 2 неизвестными.
Если кто-то может мне помочь, я буду очень благодарен!
Извините, что так долго,
Rob
PS Я бы только написал на этом форуме, но это мой первый пост, поэтому у меня пока нет разрешения.