![]() |
|
|
![]()
|
|
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
Надо обработать изображение так, чтобы оно выглядело как через линзу?
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
немалая часть картинок и так выглядят, как через линзу - фотографии, их фотографировали через линзы фотоаппарата, но, очевидно, это не совсем то, что хотелось бы
а означает это, что стоит поконкретнее описать, что именно понимается под -------------------- qqq |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Т.е. увеличить с выпуклостью?
-------------------- Всем добра |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
||||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Просто в зависимости от "орбиты" каждому пикселю ставишь масштаб увеличения.
-------------------- Всем добра |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
О... так бы сразу... предложение первое (скорее всего, неподходящее): можно просто взять кружочек, часть картинки, находящуюся в нем, увеличить и записать на его место, увеличение - простое "равномерное" типа StretchBlt в WinAPI почему "скорее всего, неподходящее": равномерное увеличение не дает искажений - прямые остаются прямыми в независимости от того, под какой именно частью линзы (центральной или с краю) они находятся это можно сделать с помощью идеальной линзы, а на апплете, насколько я понял, реальная линза - с учетом всяких аббераций предложение второе: линза - просто кусок материала со сферическими границами, прохождение света через нее описывается старым добрым законом преломления (отношение синусов=отношению коэффициентов преломления) так что алгоритм простой: чтобы узнать увет пиксела в кружке, пускаем луч из нашего глаза (можно просто перпендикулярный к плоскости экрана) в этот пиксел, проводим его через линзу (два перехода) по закону преломления и смотрим, на какую часть исходной картинки он попадет - оттуда и берем цвет для пикселя P.S. все это будет значительно удобнее делать в полярных координатах относительно центра линзы... коэффициенты преломления и радиусы ограничивающих сфер - по вкусу -------------------- qqq |
|||
|
||||
| Заппер |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.4.2006 Репутация: нет Всего: нет |
Согласен с этим решением. Должно работать... |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
maxim1000
Попробую написать по второму способу. Спасибо за советы. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |