Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Ограничения: максимум вложений в сообщении — 3 (3 осталось), максимальный размер всех файлов — 300 КБ, максимальный размер одного файла — 100 КБ
Снимите пометку с вложений, которые необходимо удалить
Перетащите файлы сюда или используйте кнопку для добавления файлов
Вложения и другие параметры
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр

Сообщения в этой теме

Автор Валентин Н
 - апреля 26, 2017, 20:49
Цитата: Тайльнемер от марта 30, 2017, 07:53
Искажений нет, когда вы смотрите на картинку с такого расстояния, на котором она составляет в вашем поле зрения тот же угол, что был у камеры.
Всё, я понял в чём загвоздка. Под искажениями я имел ввиду реальное искажение на экране, а не то, что можно увидеть с различных углов.

Круг в центре, при широком угле обзора, станет овалом в углу экрана, независимо от вашего положения. И чем больше угол, тем вытянутее будет и наоборот.
Автор Toman
 - апреля 9, 2017, 23:56
Цитата: Валентин Н от апреля  9, 2017, 19:42
Я щас посчитал так:
Диагональ прямоугольника (1280×720) это — длина дуги на сфере, угол 60°, площадь сферы получилась 24 175 107.45 ≈242.
Ну вот - результат совпал. Но это именно площадь сферы как таковая.

Цитата: Валентин Н от апреля  9, 2017, 11:24
А вот это решается выпуклой матрицей.
Да ещё раз, форма матрицы тут ничего не меняет, кроме сложности её изготовления, с одной стороны, и возможности работы с объективом, который формирует изображение не на плоскости, а на какой-то изогнутой поверхности, с другой стороны. Менять размеры пикселов, между тем, можно было бы и на плоской матрице (и теоретически в этом может быть некий смысл). Но это ничего не меняет в вопросе системы координат.

Вопрос стоит в организации массива данных при хранении (где пикселы вообще-то не обязаны совпадать с физическими пикселами матрицы).

Хотя и пикселы на матрице тоже должны быть как-то физически организованы - строки и столбцы, как бы они ни были расположены. Хотя есть и специфический хитрый вариант с хаотическим расположением пикселов, имеющий свои преимущества - но для грамотной работы и этот вариант должен быть как-то физически организован (что сложнее, чем для регулярных решёток). Но в случае съёмки всей сферы несколькими более-менее обычными камерами тут большой проблемы нет - обычные матрицы годятся, а изображение всё равно подлежит преобразованию в координаты хранения и соединению со всех этих камер.
Автор Валентин Н
 - апреля 9, 2017, 19:42
Цитата: Toman от апреля  9, 2017, 02:58
Поскольку расстояние между "меридианами" изменяется по широтам по (ко)синусоиде, реальное информационное наполнение всей картинки будет в π/2 раз меньше, т.е. примерно в 25,5 раз больше одного окна, или примерно 23 эффективных мегапиксела.
Я щас посчитал так:
Диагональ прямоугольника (1280×720) это — длина дуги на сфере, угол 60°, площадь сферы получилась 24 175 107.45 ≈242.

Многовато вышло, если уменьшить качество до ТВшного 576 строк, то кадр 16:9 будет 1024×576, а вся сфера 15 817 668.77 ≈158.
Автор Валентин Н
 - апреля 9, 2017, 11:24
Цитата: Toman от апреля  9, 2017, 02:58
в высоких "широтах" уменьшается, т.к. "меридианы" сходятся слишком близко
А вот это решается выпуклой матрицей. Ведь если поверхность будет под углом, то проекция будет растягиваться. Посветите фонариком на стену под углом и будет овал, так же и с мередианами, они растянутся.
Автор Валентин Н
 - апреля 9, 2017, 11:22
Цитата: Toman от апреля  9, 2017, 02:58
сущность процесса - в показе только малой части картинки
Сущность процесса — в натягивании на сферу (выдавливании). Если просто кадрировать, ничего не изменится, искажения как были так и останутся.
Автор Toman
 - апреля 9, 2017, 02:58
Цитата: Валентин Н от апреля  8, 2017, 17:16
Цитата: Toman от вы имеете в виду, в переводе на общепонятный язык,
называется выдавливание.
Если уж использовать просторечные "народные" варианты, то это будет называться кадрирование/кроп/наезд/зум. Поскольку сущность процесса - в показе только малой части картинки, именно той, на минимальные искажения в которой рассчитана проекция - и потому он всегда выглядит как "наезд зумом". А вашу терминологию я только от вас и слышу, и ниоткуда больше.

Цитата: Валентин Н от апреля  8, 2017, 17:16
Так вот, возращаясь к первоначальным вопросам:
1. при каком угле не будет видно искажений (вы пишете 60°, ок поверю). Так вот у прямоугольного участка 16:9, с обзором 60° по диагонали должно быть разрешение 720 (чтоб нормально выглядело).
Окей, если по диагонали 16:9 (составляющей около 18,35 в тех же единицах) около 60°, то по высоте такого кадра будет около 30°. И это 720 строк.

Цитата: Валентин Н от апреля  8, 2017, 17:16
2. Осталось сосчитать какое разрешение будет у всей панорамы.
А вот тут надо выбрать, в каком виде эта панорама (допустим, полная сферическая) будет храниться. Если допустим, что в простейшем варианте - тупо по горизонтали "долгота" (азимут), по вертикали "широта" (угловая высота), и что пиксел на "экваторе" (горизонте) квадратный, то всё соотв. просто - по высоте нам нужно 180°, что в 6 раз больше 30°, или в пикселах 720*6=4320. По азимутам нужно все 360, т.е. вдвое больше - 8640. Таким образом, в таком варианте хранения разрешение нужно 8640x4320, что составляет приблизительно 37 млн. пикселов, против примерно 0,9 млн. пикселов показываемой при вышеозначенных условиях части картинки. Т.е. примерно в 40 раз больше выбранного размера кадра. И примерно соответствует физическому количеству пикселов в современных полнокадровых зеркалках. Впрочем, реальное информационное наполнение в высоких "широтах" уменьшается, т.к. "меридианы" сходятся слишком близко, и более-менее адекватный алгоритм сжатия по идее должен был бы этим воспользоваться и не потратить зря место под хранение почти одинаковых соседних пикселов в высоких "широтах". Поскольку расстояние между "меридианами" изменяется по широтам по (ко)синусоиде, реальное информационное наполнение всей картинки будет в π/2 раз меньше, т.е. примерно в 25,5 раз больше одного окна, или примерно 23 эффективных мегапиксела. Столько же получится физически, если использовать для хранения изображения, например, синусоидальную проекцию как таковую (но на ней обычные алгоритмы сжатия не будут правильно работать, скорее всего) - это определяется просто площадью сферы.

В общем, дофига.
Автор Валентин Н
 - апреля 8, 2017, 17:16
Цитата: Toman от апреля  8, 2017, 15:06
Поэтому, если я правильно понял (на плоском экране эмулировать смотрение из центра сферы, которую мы не можем сделать физически - так?)
Так, как и в любом панорамном видео и панорамных фотографиях: в яндекс- и гуглоулицах, например.

Цитата: Toman от апреля  8, 2017, 15:06
вы имеете в виду, в переводе на общепонятный язык,
называется выдавливание.

Цитата: Toman от апреля  8, 2017, 15:06
на любом экране можно показать кусок с углом приблизительно до 60 градусов. Что всё равно маловато и утрачивает специфику съёмки
Ну отключите выдавливание, вас не заставляют его применять.

Так вот, возращаясь к первоначальным вопросам:
1. при каком угле не будет видно искажений (вы пишете 60°, ок поверю). Так вот у прямоугольного участка 16:9, с обзором 60° по диагонали должно быть разрешение 720 (чтоб нормально выглядело).
2. Осталось сосчитать какое разрешение будет у всей панорамы.
Автор Toman
 - апреля 8, 2017, 15:06
Цитата: Валентин Н от апреля  8, 2017, 11:11
Выдавить это значит натянуть на сферу или её часть и смотреть из ея центра.
Но экраны, на которых работают проигрыватели и просмотрщики фотографий, и бумага, на которой печатают фотографии - как правило, плоские. И занимают, как правило, довольно небольшой угол зрения, редко превосходящий 60 градусов, совсем редко превосходящий 90-110 градусов, и в принципе не способный ни при каких условиях достигнуть 180 градусов.

Поэтому, если я правильно понял (на плоском экране эмулировать смотрение из центра сферы, которую мы не можем сделать физически - так?), вы имеете в виду, в переводе на общепонятный язык, преобразование изображения в гномоническую (она же ректилинейная, она же "обычная" в фотграфии, даваемая, например, камерой-обскурой) проекцию, точно согласованную с положением зрителя перед экраном (и расстоянием, и смещением от центральной оси).

Но тогда всё сводится к моему первому же ответу: доступный в таком режиме угол обзора определяется, естественно, угловым размером экрана, на котором зритель смотрит, и из картинки экшн-камеры на голове (например) пешехода, велосипедиста или каякера остаётся так же мало, как если бы зритель, находясь на месте этого человека, наблюдал окружающее через "танковую щель" размером со свой монитор/планшет/смартфон - на чём он там будет смотреть видео. Это если подходить математически строго. А если сделать послабление для тех искажений, которые ещё почти не заметны зрительно - то на любом экране можно показать кусок с углом приблизительно до 60 градусов. Что всё равно маловато и утрачивает специфику съёмки, при которой камера видит, в идеале, почти всё, что видит находящийся на этом месте человек, не делая заметных поворотов головы - что требует обзора как раз около 180 градусов. И, соответственно, примерно в 3 раза увеличивается ощущаемая зрителем амплитуда тряски.
Автор Валентин Н
 - апреля 8, 2017, 11:11
Цитата: Toman от апреля  8, 2017, 02:25
вы называете "смотреть с искажениями"
да

Цитата: Toman от апреля  8, 2017, 02:25
Принципиально не хотите говорить на понятном для других языке?
Выдавить это значит натянуть на сферу или её часть и смотреть из ея центра.
Автор Toman
 - апреля 8, 2017, 02:25
Цитата: Валентин Н от апреля  7, 2017, 21:14
Без проблем. Отдалите на максимум.
Т.е. то, что вы называете "смотреть с искажениями", я так понимаю.

Цитата: Валентин Н от апреля  7, 2017, 21:14
Под словом выдавить, я понимал выдавить. Про проекции я ни одного слова не говорил.
Принципиально не хотите говорить на понятном для других языке?