Наложение эффекта «структурированного стекла» на канал iPhone-камеры - общие указания - PullRequest
2 голосов
/ 08 марта 2011

В настоящее время я пытаюсь написать приложение, которое могло бы отображать эффекты стекла, как это видно через iPhone Camera. Я не говорю о простом, однородном стекле, но о стекле вот так: Glas Image

Теперь я уже разбил это на две проблемы:

1) Примените фильтр изображения к 2D-кадрам, представленным камерой iPhone. Это было сделано и кажется возможным, например, в приложении: faceman

2) Мне нужно получить индивидуальные световые свойства листа стекла, который поставляет мне мой клиент. Теперь, по сути, должен быть способ прочитать информацию о том, как стекло искажает и искажает изображение. Я думаю, что можно было бы каким-то образом сделать изображение пластинки из стекла с высоким разрешением, положенное на изображение шахматной доски, и каким-то образом проанализировать это.

Теперь я в основном ищу литературу, веб-ссылки о том, как вы, ребята, думаете, что я могу начать с 2. Это не обязательно должно быть точно, в конце концов мне просто нужно что-то, что выглядит примерно как лист стекла. хочу показать. И я даже не знаю, где искать книги по физике, фильтрации изображений или профессиональной фотографии.

РЕДАКТИРОВАТЬ: В настоящее время я думаю, что одним из простых решений может быть рельефное отображение текстуры на верхней части камеры, я задал еще один вопрос по этому вопросу здесь .

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Вам нужно начать с OpenGL.Вы хотите эффективно иметь текстуру - похожую на ту, что у вас есть выше - сместить текстуру под ней (изображение с камеры в реальном времени), чтобы создать впечатление глубины и искажения.Это «нетривиальная» проблема, в то время как это довольно стандартная проблема в своей области, если вы работаете в фоновом режиме без графики или опыта OpenGL, вы можете ожидать очень крутой кривой обучения.

Короче говоря, единственный способ реально добиться этого на iOS - это использовать OpenGL, и это должно стать вашей отправной точкой.У Apple есть несколько руководств по этому вопросу, но вам лучше поискать в другом месте.Есть несколько полезных книг, таких как Руководство по программированию OpenGL ES 2.0, которые помогут вам выбрать правильный путь, но то, с чего вы начнете, будет зависеть от того, насколько вам комфортно с 3D-графикой и C.

1 голос
/ 29 июня 2012

Просто хотел добавить, что я решил этот старый ответ, используя пример рефракции в Khronos OpenGl ES SDK .

Написал запись в блоге с картинками об этом:

имитирующие окна с преломлением

refracted image clear image

...