Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 21:26   #1
asoll05
 
Регистрация: 09.02.2011
Сообщений: 8
Восклицание Преобразование трапеции

Доброе время суток! Мне очень нужна Ваша помощь! Я занимаюсь проектом, связанным с анализом дорожного полотна, и одна из задач поставила меня в тупик. Мне нужно преобразовать трапецию, которая является дорогой (вид, как через лобовое стекло машины) в прямоугольник, так, чтоб было ощущение, что мы смотрим на дорогу сверху, а не прямо. Для этого нужно использоваться метод растяжения, хотя можно и сжатия изображения. Моя проблема заключается в том, что я никак не могу подобрать работающий алгоритм. Я пробовала линейной и квазилинейное преобразование-не подходит. Последнее деформирует в бочку.
Если у Вас есть какие-то мысли, помоги, пожалуйста, это очень важно. Заранее спасибо.
Изображения
Тип файла: jpg 4.jpg (17.8 Кб, 137 просмотров)
asoll05 вне форума Ответить с цитированием
Старый 09.02.2011, 23:01   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от asoll05 Посмотреть сообщение
Я пробовала линейной ... преобразование-не подходит.
"А почему, собственно?" Картинка ведь построена (нарисована) в перспективной проекции?
...
Исходная "картинка", кстати - всегда растровое ихображение?
Vago вне форума Ответить с цитированием
Старый 09.02.2011, 23:41   #3
asoll05
 
Регистрация: 09.02.2011
Сообщений: 8
По умолчанию

Всегда растровое.
А насчет линейности.. Оно получается вогнутым по бокам.
Алгоритм линейного:
Брали отношение длины строки к нижней самой длинной, находили коэффициент, на который нужно растянуть. И изображение получалось вогнутым(
asoll05 вне форума Ответить с цитированием
Старый 10.02.2011, 00:18   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от asoll05 Посмотреть сообщение
Всегда растровое.
Тогда у Вас основной "развлекалочкой" будут не геометрические преобразования, а интерполяция в растягиваемых строках (а при более солидном подходе, - ещё и между строками).

Цитата:
Сообщение от asoll05 Посмотреть сообщение
Брали отношение длины строки к нижней самой длинной, находили коэффициент, на который нужно растянуть. И изображение получалось вогнутым(
Я думаю, это Вы файл с растровой картинкой с ошибками распарсили. Возьмите любой растровый редактор, нарисуйте в нём на белом фоне [неравнобедренную] трапецию (линиями толщиной в 1 пиксель) и подсуньте нарисованное своему алгоритму. Должен получится прямоугольник с чуть "трясущимися" (плюс / минус 1 пиксель относительно вертикалей) боковыми сторонами. Если снова выйдет "бочка" - Вы неправильно работаете с растровым изображением.

До завтра.
Vago вне форума Ответить с цитированием
Старый 10.02.2011, 15:11   #5
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Вот тестовая трапеция, о которой я говорил вчера.
110210.jpg

Вот - Ваша "дорога".
110210_2.jpg
Тут зрелище, конечно, душераздирающее, но, повторяю, здесь гораздо более сложной задачей является заполнение пустых пикселей, образовывающихся в растягиваемой картинке (коего я, разумеется, не делал), нежели несложное линейное преобразование из одной проекции в другую.

Кстати, когда изображение вогнутое в средине, - это "подушка", а не "бочка" Но на тесте я не вижу ни того, ни другого. Ошибки округления - вижу, а дисторсии - не вижу
Vago вне форума Ответить с цитированием
Старый 10.02.2011, 16:07   #6
asoll05
 
Регистрация: 09.02.2011
Сообщений: 8
По умолчанию

У меня получилась точно такая же ужасная картина как и у Вас. Но это не совсем то, мне кажется, что нужно. Моя дальнейшая задача заключается в том, что я должна позже анализировать заплатку, но тут она получается совсем другой формы и размера, чем исходная.

Заполнение пикселей. Я понимаю, что мне все равно придется это делать. Хоть и не хочется
А у Вас случайно нет на примете алгоритма какого-нибудь другого преобразования?


Спасибо большое, что поправляете меня. Правда, это только на пользу)
Вложения
Тип файла: doc Doc1.doc (143.5 Кб, 17 просмотров)

Последний раз редактировалось asoll05; 10.02.2011 в 16:17.
asoll05 вне форума Ответить с цитированием
Старый 10.02.2011, 16:48   #7
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от asoll05 Посмотреть сообщение
Моя дальнейшая задача заключается в том, что я должна позже анализировать заплатку
Гы Так мы до главной задачи даже не дошли ещё! :D

Цитата:
Сообщение от asoll05
Заполнение пикселей. Я понимаю, что мне все равно придется это делать. Хоть и не хочется
А придётся!..

Цитата:
Сообщение от asoll05
А у Вас случайно нет на примете алгоритма какого-нибудь другого преобразования?
К сожалению, нет. Я на этом никогда не специализировался.
...
Этими задачами занимаются фотографы и врачи. То есть не сами фотографы и не сами врачи, разумеется, а разработчики прошивок для цифровых фотоаппаратов и CT-сканеров. R&D-отделы Кэнона, Панасоника, Сименса и математические факультеты тех университетов, с которыми подобные фирмы сотрудничают (так что, Вы выбрали себе тёплую компанию ). Поскольку и там и там крутятся значительные деньги, а конкуренция высока, то, думаю, авторы удачных алгоритмов публиковать их в открытой печати не торопятся (хотя, может я и ошибаюсь; повторяю, это - "не мои" задачи). Попробуйте поискать что-то по запросам "tilt shift correction", "perspective distortion correction" и т.п.
Vago вне форума Ответить с цитированием
Старый 10.02.2011, 16:59   #8
asoll05
 
Регистрация: 09.02.2011
Сообщений: 8
По умолчанию

К сожалению, ни я это выбирала) Это захотелось моему заведующему кафедрой. Так что я только исполнительный раб

Понимаю, что не дошли.

Спасибо Вам огромнейшее!!! Я еще напишу чуть позже, если будут какие-то результаты и новые мысли. Вы не против?
asoll05 вне форума Ответить с цитированием
Старый 10.02.2011, 17:15   #9
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от asoll05 Посмотреть сообщение
Так что я только исполнительный раб
Ну да?! А Плантатор, как, с плёткой ходит?..

Цитата:
Сообщение от asoll05
Спасибо Вам огромнейшее!!!
Не за что

Цитата:
Сообщение от asoll05
Я еще напишу чуть позже, если будут какие-то результаты и новые мысли. Вы не против?
Не против Тема быстро уползёт вниз, так что пишите в ЛС или на vago собака inbox точка ru

Удачи!
Vago вне форума Ответить с цитированием
Старый 10.02.2011, 17:23   #10
asoll05
 
Регистрация: 09.02.2011
Сообщений: 8
По умолчанию

Почти так)))
asoll05 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод трапеции на C++ sir.andrey Помощь студентам 0 16.09.2010 16:53
Вычисление интеграла методом трапеции. Айдар Помощь студентам 2 07.02.2010 14:50
Вычислить S равнобедренной трапеции SWAT126 Фриланс 3 16.09.2009 00:50
Площадь равнобедренной трапеции Mr.Qwerty Свободное общение 6 05.09.2009 02:31