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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 11:37   #1
Danyla
 
Регистрация: 12.03.2010
Сообщений: 5
Сообщение Интерполяция изображения Бикубическим сплайном

Это тема моего нового курсовой работы. У кого есть информация или ссылки на литературу. Может, кто уже сталкивался с реализацией. Просто у меня глухо как в танке.
Danyla вне форума Ответить с цитированием
Старый 12.03.2010, 13:13   #2
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках. Например, если вам захотелось знать, какова была температура в полдень, но измеряли её в 11 и в час, можно предположить её значение, применив линейную интерполяцию:

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

Чем больше измерений температуры вы будете иметь около полудня, тем более комплексным (и ожидаемо более точным) может быть ваш алгоритм интерполяции.
Материал взят от сюда
http://images.cambridgeincolour.com/...tion_temp1.png
Этот пример с погодой, вам для наглядности, чтобы вы хоть как-то представили, что такое интерполяция. Обязательно загляните на вышеприведенную ссылку!!!
Существут 2 типа алгоритмов интерполяции изображений: неадаптивные (вот сюда входит бикубическая интерполяция) и адаптивные.
Но для того, чтобы понять до конца, что такое бикубическая интерполяция, нужно сначала разобраться с билинейной. Как вы поняли (би = 2), интерполяция одного пикселя изображение происходит, благодаря взвешанному усреднению окружающих его, четырех пикселей,
в результате чего, изображение получается более сглаженным.
Что касается непосредственно вашей темы, то, бикубическая интерполяция выполняет теже самые действия, НО! только диапазон рассмотрения близжайших пикселей расширяется до квадрата 4х4, а это уже не 4, а 16 пикселей! при чем в зависимости от удаления каждого из них от неизвестного, вес его уменьшается, что приводит к более четкому и качественному виду измененного изображения.
В добавок ко всему вышенаписанному хочу дать вам ссылку на материал из википедии:
http://ru.wikipedia.org/wiki/Бикубическая_интерполяция
Я думаю, что это поможет вам понять сам принцип работы этого загадочного слова "интерполяция" с математической точки зрения. Для начала вам думаю хватит информации. А вообще... Непонятные темы нужно разбирать с сааааамых низов, а потом постепенно-потихоньку материал будет накапливаться, а знания в этой области крепнуть и вы выйдете на тот уровень, о котором даже сами не предполагали. Удачи в начинаниях! По мере продвижения, пишите сюда, будем помогать вам. Пища есть - переваривайте!
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 12.03.2010, 16:20   #3
Danyla
 
Регистрация: 12.03.2010
Сообщений: 5
По умолчанию

Я одного понять не могу матрица А (по материалам из вики) она как константа ????

Последний раз редактировалось Danyla; 12.03.2010 в 17:02.
Danyla вне форума Ответить с цитированием
Старый 12.03.2010, 18:50   #4
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

А вы подумайте хорошенько... Там же понятно написано. Если взять эти 16 точек, то их координаты будут одинаковыми в любом случае, так как точки то размещены в непосредственной близости к искомому пикселю, - это что косается первой матрицы! Но вторая матрица - это трапонированная матрица из первой, благодаря которой мы получаем интересующие нас значения в любой другой точке, которую надо найти! Представим себе картинку 800х600 пикселей. Вы загнали её в фотошоп и увеличили хосл на, к примеру, 100 пикселей в каждую сторону. Само изображение трансформировали посредством имеющихся возможностей в программе и растянули на эти 100 п. в каждую сторону, так вот, вторая матрица в данном случае рассчитывает интерполированные значения функции в данном диапазоне!
Вы же ведь не всегда на 1 пиксель увеличиваете! и алгоритму приходится запоминать и интерполировать пиксели которые находятся в диапазоне каждого, составляющего картинку.
А что вам нужно конкретно по этой теме курсовой? Написать алгоритм реализующий заданную интерполяцию, а затем реализовать его в программе или в железе?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"

Последний раз редактировалось ImmortalAlexSan; 12.03.2010 в 18:54.
ImmortalAlexSan вне форума Ответить с цитированием
Старый 02.04.2010, 18:27   #5
Danyla
 
Регистрация: 12.03.2010
Сообщений: 5
По умолчанию

Блин что то я как рыба об лед. Можно если вас не затруднит приведенную в ваших ссылках информацию пояснить.
Danyla вне форума Ответить с цитированием
Старый 31.05.2010, 02:23   #6
ageron
Новичок
Джуниор
 
Регистрация: 03.11.2007
Сообщений: 2
По умолчанию математика бикубической интерполяции

цвет интерполируемого пикселя зависит от цвета 16 окружающих его пикселей при принятии что требуемый пиксель находиться в координатах x=0.5 и у=0.5 в сетке x=-1..2 и у=-1..2 и цвет разбит по состовляющим RGB то алгоритм бикубической интерполяции сводиться к умножению на 3 матрицы и один коофицент к*A*F*At где
к=1/256
A=[1,-9,-9,1]
А матрица 4x4 из 1 составляющей цвета (к примеру R) окружающих пикселов
At - транспонированая матрица A
ageron вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интерполяция сплайнами tanek Помощь студентам 5 06.07.2011 00:23
интерполяция Laplas Общие вопросы C/C++ 6 06.03.2010 12:03
Интерполяция лагранжа Styks Общие вопросы C/C++ 4 14.12.2009 18:47