|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.03.2010, 11:37 | #1 |
Регистрация: 12.03.2010
Сообщений: 5
|
Интерполяция изображения Бикубическим сплайном
Это тема моего нового курсовой работы. У кого есть информация или ссылки на литературу. Может, кто уже сталкивался с реализацией. Просто у меня глухо как в танке.
|
12.03.2010, 13:13 | #2 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках. Например, если вам захотелось знать, какова была температура в полдень, но измеряли её в 11 и в час, можно предположить её значение, применив линейную интерполяцию:
Если бы у вас имелось дополнительное измерение в половине двенадцатого, вы могли бы заметить, что до полудня температура росла быстрее, и использовать это дополнительное измерение для квадратической интерполяции: Чем больше измерений температуры вы будете иметь около полудня, тем более комплексным (и ожидаемо более точным) может быть ваш алгоритм интерполяции. Материал взят от сюда http://images.cambridgeincolour.com/...tion_temp1.png Этот пример с погодой, вам для наглядности, чтобы вы хоть как-то представили, что такое интерполяция. Обязательно загляните на вышеприведенную ссылку!!! Существут 2 типа алгоритмов интерполяции изображений: неадаптивные (вот сюда входит бикубическая интерполяция) и адаптивные. Но для того, чтобы понять до конца, что такое бикубическая интерполяция, нужно сначала разобраться с билинейной. Как вы поняли (би = 2), интерполяция одного пикселя изображение происходит, благодаря взвешанному усреднению окружающих его, четырех пикселей, в результате чего, изображение получается более сглаженным. Что касается непосредственно вашей темы, то, бикубическая интерполяция выполняет теже самые действия, НО! только диапазон рассмотрения близжайших пикселей расширяется до квадрата 4х4, а это уже не 4, а 16 пикселей! при чем в зависимости от удаления каждого из них от неизвестного, вес его уменьшается, что приводит к более четкому и качественному виду измененного изображения. В добавок ко всему вышенаписанному хочу дать вам ссылку на материал из википедии: http://ru.wikipedia.org/wiki/Бикубическая_интерполяция Я думаю, что это поможет вам понять сам принцип работы этого загадочного слова "интерполяция" с математической точки зрения. Для начала вам думаю хватит информации. А вообще... Непонятные темы нужно разбирать с сааааамых низов, а потом постепенно-потихоньку материал будет накапливаться, а знания в этой области крепнуть и вы выйдете на тот уровень, о котором даже сами не предполагали. Удачи в начинаниях! По мере продвижения, пишите сюда, будем помогать вам. Пища есть - переваривайте!
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
12.03.2010, 16:20 | #3 |
Регистрация: 12.03.2010
Сообщений: 5
|
Я одного понять не могу матрица А (по материалам из вики) она как константа ????
Последний раз редактировалось Danyla; 12.03.2010 в 17:02. |
12.03.2010, 18:50 | #4 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
А вы подумайте хорошенько... Там же понятно написано. Если взять эти 16 точек, то их координаты будут одинаковыми в любом случае, так как точки то размещены в непосредственной близости к искомому пикселю, - это что косается первой матрицы! Но вторая матрица - это трапонированная матрица из первой, благодаря которой мы получаем интересующие нас значения в любой другой точке, которую надо найти! Представим себе картинку 800х600 пикселей. Вы загнали её в фотошоп и увеличили хосл на, к примеру, 100 пикселей в каждую сторону. Само изображение трансформировали посредством имеющихся возможностей в программе и растянули на эти 100 п. в каждую сторону, так вот, вторая матрица в данном случае рассчитывает интерполированные значения функции в данном диапазоне!
Вы же ведь не всегда на 1 пиксель увеличиваете! и алгоритму приходится запоминать и интерполировать пиксели которые находятся в диапазоне каждого, составляющего картинку. А что вам нужно конкретно по этой теме курсовой? Написать алгоритм реализующий заданную интерполяцию, а затем реализовать его в программе или в железе?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
Последний раз редактировалось ImmortalAlexSan; 12.03.2010 в 18:54. |
02.04.2010, 18:27 | #5 |
Регистрация: 12.03.2010
Сообщений: 5
|
Блин что то я как рыба об лед. Можно если вас не затруднит приведенную в ваших ссылках информацию пояснить.
|
31.05.2010, 02:23 | #6 |
Новичок
Джуниор
Регистрация: 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 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
интерполяция сплайнами | 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 |