Как вычислить расстояние
до объекта по фотографии

Для начала см. http://bootsector.livejournal.com/43436.html

 

Мы решили идти своим путем^

Первые прикидки:

 

 

 

 

 

L = 0.105*(0.0192 + 860)/0.0192   ' 4 км

d=0.105*(0.0192 + 66.7)/0.0192

' d =  0.105*(0.0192 + 66.7) / 0,0192  = 364,9 м

VbsMsg "Расстoяние L до телебашни равнo " & L

VbsMsg "Расстoяние d до телебашни равнo " & d

 

 

 

 

 

Задача 2. Определить расстояние от фотографа  до основания самой высокой телебашни  Небесное дерево Токио (634 м)
самое высокое здание
«Башня Халифа» высотой 828 метров в Дубае.

               

Определить также  высоту здания «Пивная кружка»
верхняя часть у нее пиво пенится, а ниже капля (мы назвали «ковчег») упала с кружки
( «каплю» французский художник придумал)
      

С покемонами вид с телебашни

 

Расстояние в Google Earth напрямую = равно 1,09 км

 

Другая фотография от следующего моста с некоторой информацией о снимке:

Также в  Google Earth определили расстояние до телебашни,
оно оказалось равно 1,51 км

Как определить эти расстояния с фотографии

Упражнение. Задать «ковчег» по двум линиям – верхний очерк  и нижний (килевая) МК 8.10. Задать Аэростат (МК 1.10) и направляющую Безье (Линии –> Безье МК), Анимацию (см. структуре).

 

Можно в группе,  поверх заданной поверхности
задавать другую поверхность с другим цветом

Справа «Башня Халифа» в Дубае828 м

 

Другой вариант определить расстояние до объекта по перспективному масштабу. Для этого (чтобы определить точку D2)  надо при съемки перед собой на плоскость положить эталон (квадрат паркета) и фотографировать. Такой эксперимент проедем со студентами на курсантском пласту.

 

Перспективный масштаб широты представляет собой отрезок прямой на основании картины, равный единице измерения, взятой в масштабе. Если концы этого отрезка соединить с точкой схода P≡F, то получим перспективное изображение двух горизонтальных прямых в натуре перпендикулярных к картине и взаимно параллельных. Расстояние между этими прямыми будет на всем их протяжении равно 1 м.

Перспективный масштаб

Перспективный масштаб

Перспективный масштаб высоты представляет собой отрезок прямой на одной из вертикальных сторон картины, отложенный от основания картины, равный единице измерения, взятой в масштабе. Соединив концы этого отрезка с точкой схода P≡F, получим перспективное изображение двух горизонтальных прямых в натуре перпендикулярных к картине и взаимно параллельных. Также получаем возможность установить ту же величину прилюбом удалении в глубину картины.

Перспективный масштаб глубины представляет собой отрезок прямой, отложенный от одного из углов картины, равный единице измерения, взятый в масштабе. Соединив концы этого отрезка с точкой отдаления D2, тогда на прямой, соединяющей угол картины с точкой схода F, получим в перспективе изображения отрезков в натуре, перпендикулярных к картине и равных между собой. Также получаем возможность установить ту же величину при любом удалении в глубину картины.

Перспективный масштаб позволяет построить перспективу сетки из квадратов определенных размеров. Данная сетка дает точное представление о размерах пространства, изображенного на картине. Также он дает возможность определить высоту фигуры, на каком расстоянии находится фигура от картинной плоскости и от левой или правой стены.

 

Упражнение. Определить на фотографии точку схода и перспективные масштабы ширины, высоты и глубины, эталоны известных размеров заданы листами формата А3,

Выполнил студент А.Петров  на уроке «Инженерная и компьютерная графика» - 2-й курс

Задняя стенка портреты «Федор Конюхов»

 

 

Помучился (- Вб) и поехал на Постышева к Юрию Роньшину – программисту и математику от Бога.

Определить по фотографии, какое расстояние от его балкона до 5-этажки, напротив.

 

Фотоаппарат Samsung ST72. В Интернете нашли его характеристики

Сфотографировали.

 

Составили уравнения, написали МК:

<Samsung.vbs>

H = 3 ' высота здания от центра картинки до крыши в метрах

y= 50  ' это размер на фотографии в пикселях (определили в фотошопе)

f = 25/5.62 ' Фокус от 25/5.62 до 125/5.62 в мм

dpik = 768  - разркшение каинки по вертикали

h_mm  =  4.62 ' для каждого фотоаппаратаразмер светочувствительной матрицы в мм по вертикали из таблички из документации если

fpik = f*dpik/h_mm    ' dpik - высота картинки пикселях

VbsMsg "Фокусное fpik =" & fpik 

L = H*fpik/y

VbsMsg "Расстояние до дома L =" & L 

 

    

Рассчитали: до дома напротив = 44,368  метра!

Проверили в Яндексе  - 44.7 - почти идеально!

 

 

Герард Мерка́тор (лат.

 Gerhardus Mercator; 5 марта 1512, Рупельмонде — 2 декабря 1594, Дуйсбург) —фамилии означают «купец»), фламандского картографа и географа.

 

 

Итак переходим к основной фотографии, сделанной моим SONY фотоаппаратом в Японии:

Вот его характеристики прямо на нем указанные:

HD Movie 720p

SONY

6xOptical Zoom

26 Wide-anglelens

3,6-6,5/4,6-27,6

 

Берем фото-оригинал

 

 

<SONY.vbs>

H = 400 ' высота от центра картинки до верхней точки башни в метрах (вся высота башни 634)

y= 924  ' это размер на фотографии в пикселях (определили в фотошопе)

f = 25/5.62 ' Фокус от 25/5.62 до 125/5.62 в мм

dpik = 2736  - разрешение картинки по вертикали

h_mm  =  4.62 ' для каждого фотоаппарата размер светочувствительной матрицы в мм по вертикали из таблички из документации если

fpik = f*dpik/h_mm    ' dpik - высота картинки пикселях

VbsMsg "Фокусное fpik =" & fpik 

L = H*fpik/y

VbsMsg "Расстояние до телебашни L =" & L 

Некоторые размеры (H и Y) взяли на глаз, потому могут быть неточности

 

 

Где-то в 50 метрах расхождение

Проверим это на картах в Яндексе в Google Земля  это расстояние  1, 09 км , которое может быть и неточно

 

Яндекс на работе не доступен, проверим дома

 

 

Подготовим еще одну фотографию

 

 

Здесь центральный луч от объектива попадает где-то по центру башни

 

<SONY_<БАШНЯ.vbs>

H = 400 ' примерно высота от центра картинки до верхней точки башни в метрах (вся высота башни 634)

y= 666  ' это размер на фотографии в пикселях (определили в фотошопе)

f = 25/5.62 ' Фокус от 25/5.62 до 125/5.62 в мм

dpik = 2736 ' - разрешение картинки по вертикали

h_mm  =  4.62 ' для каждого фотоаппарата размер светочувствительной матрицы в мм по вертикали из таблички из документации если

fpik = f*dpik/h_mm    ' dpik - высота картинки пикселях

VbsMsg "Фокусное fpik =" & fpik 

L = H*fpik/y

VbsMsg "Расстояние до телебашни L =" & L 

 

Некоторые размеры (H и Y) взяли на глаз, потому могут быть неточности

 

Здесь  как ни странно полтора км совпадает
с результатами в Google Earth (см выше)

 

 

 

Определить на фотографии расстояние до объекта в случае неполной информации. Есть фотография, но неизвестно, каким фотоаппаратом снято и параметры его. Есть прием по перспективным линиям – трем точкам вычислить фокус.  В этом случае нужны точка схода и несколько линий  схода (Роньшин знает алгоритм – может реализуем).

И вернемся к фотографии с интерьером, тут  у нас все известно:

 

 

' <Расстояние до портрета ФК на стене.vbs>

H = 0.85 ' примерно высота от центра картинки до верхней точки шара в метрах (вся высота шара 0.92 м)

y= 246 ' это размер на фотографии в пикселях (определили в фотошопе) – выше от центра

f = 25/5.62 ' Фокус от 25/5.62 до 125/5.62 в мм

dpik = 2736 ' – размер высота всей фотографии (разрешение картинки по вертикали)

h_mm = 4.62 ' для каждого фотоаппарата размер светочувствительной матрицы в мм по вертикали из таблички из документации

fpik = f*dpik/h_mm    ' dpik - высота картинки пикселях

L = H*fpik/y

VbsMsg "Фокусное fpik = " & fpik _

& vbCrLf & "Расстояние до портрета ФК на стене L = " & L

& vbCrLf & "Расстояние до второго шара на старте L = " & L

 

Проверили: точно снимали с расстояния  9 метров.

Вот и не верь после этого в чудеса фото-техники!

Получили, можно сказать, универсальную формулу-макрос.

На входе у которой

1) высота объекта (часть его от центра до его верха

2) Эта же высота в пикселях (замеряем) в фотошопе

3) Высота  всей фотографии (разрешение картинки по вертикали) в пикселях

Остальные параметры по умолчанию.

Параметры задаем в x,y,z точки.

Для учебных целей МК поместим в базовые МК 7.25. или VR в папке преподавателей или МК скопировать в свою папку в формате Юникоде с расширением *.vbs.

 

 

<Определить расстояние до портрета на стене в CorelDraw.vbs>

VbsMsg "Определить расстояние до объекта. Задать три параметра в коорд. точки"

VbsMsg "высота от центра картинки до верхней точки объекта в метрах пример 0.85"

VbsMsg "этот же размер на фотографии в пикселях пример 246 "

VbsMsg "высота всей фотографии в пикселях пример 2736"

n1 = LastNmb

CurrObjNmb = n1

Set M = P(Ngpoi0.85nt.x,Ngpoint.y,Ngpoint.z)

' VbsMsg "M.x = " & M.x & "M.y = " & M.y & "M.z = " & M.z

H = M.x  'H = 0.85 примерно высота от центра картинки до верхней точки шара в метрах (вся высота шара 0.92 м)

y = M.y 'y= 246 ' этот же размер на фотографии в пикселях (определили в фотошопе) – выше от центра

dpik = M.z 'dpik = 2736 ' – размер высота всей фотографии (разрешение картинки по вертикали)

f = 25/5.62 ' Фокус от 25/5.62 до 125/5.62 в мм

h_mm = 4.62 ' для каждого фотоаппарата размер светочувствительной матрицы в мм по вертикали из таблички из документации

fpik = f*dpik/h_mm  ' dpik - высота картинки пикселях

L = H*fpik/y

VbsMsg "Фокусное fpik = " & fpik _

& vbCrLf & "Расстояние до портрета ФК на стене L = " & L

 

Оформить перспективные изображения в CoreDraw

Cм полный курс ОИХТ
(лекции, практика, тестирование)
здесь

 

Упражнение. На фотографии картины выполненной в CorelDraw (см. выше) определите расстояние до задней стенки, известны три главных параметра: H - высота картины   от центра вверх, этот y размер в пикселях  на фотографии,  и dpik  - в пикселях вся высота картины.

Картинку в фотошоп копируем к через Print Screen

H = 1 м

y =  49

dpik = 330

Расстояние задней стенке (до картины) не совсем получилось – расхождение в полтора метра. И здесь в принципе не фотография сцены, а его рисунок и фотография уже после этого рисунка. Хотя будем дальше разбираться. У Ю. Роньшина в загашнике  есть формула как раз для этого случая.

 

 

* Ideal Points and Vanishing Points

 

Ideal points on the projective plane are located at infinity, and have coordinates of the form . There is just one free parameter in the coordinates of an ideal point because the scale of a homogeneous vector is arbitrary - thus the set of all ideal points on the projective plane constitutes a line, called the ideal line. In the same way, the ideal points of projective 3-space have the form and constitute a plane called the ideal plane, and so on for projective spaces of any dimension.

The image of an ideal point under a projectivity is called a vanishing point, the image of an ideal line is called a vanishing line, and so on. A familiar example of the formation of a vanishing point is shown in Figure 4. A camera with focal point C views a scene in which there are a pair of parallel lines M and N. Lines M and N appear in the image as converging lines m and n which meet at the vanishing point V. An important feature which is discussed below is that the line CV is parallel to lines M and N.

 ээ


Figure: The camera centre is at C. The parallel lines M and N in the scene give rise to converging lines m and n in the image which meet at the vanishing point V. The line CV is parallel to the lines M and N, with direction vector d.

An algebraic analysis of this configuration would describe the following - lines M and N are parallel and so meet at infinity at an ideal point; the image of M and N meeting at the ideal point is m and n meeting at the vanishing point V (the image of the ideal point is V) - note that concurrency is preserved under a projective transformation, so concurrency at the ideal point in the world is reflected in concurrency at V in the image; finally, the ray CV must itself be incident with the ideal point because this is perspective projection, and hence the ray CV is parallel to lines M and N in the scene. The analysis would involve some complication, because lines are more difficult to manipulate in projective 3-space than they are on the projective plane. In fact, an algebraic analysis is unnecessary to gain a reasonable understanding of the physical configuration, which can be obtained instead by a straightforward geometric argument as below.


Figure: Two planes constructed in the way described in the text. By the arguments in the text, C and V are both on the line of intersection of the two planes, and the line of intersection has direction d (see Figure
4). Thus, CV is parallel to the lines M and N in the scene in Figure 4.

Referring again to Figure 4, consider a plane through C and line M, and a plane through C and line N. We now show that the line of intersection of the two planes has the same direction d as lines M and N in the scene, and that CV coincides with the line of intersection of the two planes i.e. the line CV is parallel to the lines in the scene. See Figure 5.

First note that the line of intersection of and has direction because both planes and have as a basis vector. Now note that intersects the image plane along m, and similarly intersects the image plane along n. Thus, the line of intersection of and passes through the point of intersection of m and n which is the vanishing point V. The line of intersection of and also passes through C, because C is incident with both planes. Thus, CV coincides with the line of intersection of and , and the argument is concluded.

The discussion can be extended to the imaging of a plane, as shown in Figure 6. A camera with focal point C views a tiled plane . One set of parallel lines on is concurrent at the ideal point , and the other set is concurrent at . The line through and is the ideal line (the horizon) of the plane. The image of is the vanishing point , the image of is the vanishing point , and the image of the ideal line is the vanishing line L. An important feature of this configuration, which can be demonstrated using similar arguments to those above, is that the normal of the plane defined by C and L is parallel to the normal of the plane - see Figure 6b.

 


Figure: (a) One set of parallel lines on the plane
is concurrent at the ideal point , and the other set is concurrent at . The line through and is the ideal line (the horizon) of the plane. The image of is the vanishing point , the image of is the vanishing point , and the image of the ideal line is the vanishing line . (b) Note that the plane formed by and L has the same normal as the plane .

 

Vanishing point (VP)

Исправление перспективы

 

В фотошопе есть приемы создания эффекта Vanishing Points (Исправление перспективы)

На сайте http://photoshoplessons.ru по фотошопу очень много всяких полезностей – типа уроков.

Есть и здесь приемы VP - http://fotochki.com/nekotorye-vozmozhnosti-filtra-vanishing-point-v-photoshop/

 

Например, на стену повесить картину с учетом перпективных преобразования.

Есть комната, стена, картина.

 

Фильтр «исправление перспективы» (Vanishing Point) в Фотошопе 

Финальный результат (справа)

Слева получились неровные края (кстати такая беда, когда вы импортируете покемонов в *.bmp формате с просвечивающимся фоном).

Чтобы исправить это, создайте выделение вокруг картины, затем:

(Выделение - Инверсия / Сочетание клавиш «Shift+Ctrl+I») и удалить нежелательные пиксели.

 

Еще примеры

 

На рис. показан усиленный эффект  Vanishing Points (перспективы прямо, и для гор влево)

Исчезающая точка (Vanishing Point, 1971). Кинопоиску

Зарабатывая на жизнь перегоном машин из города в город, Ковальски получает очередное задание — доставить белый «Додж Челленджер» в Сан-Франциско из Денвера. Когда его пытаются остановить полицейские по неясной причине, Ковальски демонстративно отказывается подчиняться властям и упорно уходит от преследования, следя лишь за тем, чтобы никто из гонящихся за ним полицейских не погиб…

 

 

Поэтому мы попробуем в системе Вектор в этом направлении  автоматически рассчитывать точку (точки) и линии схождения.