![]() |
![]() ![]() |
![]() |
ninja |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Добрый вечер! Необходимо реализовать программу для размытия изображения методом Гаусса. В интернете примеров алгоритма не нашел, только математическую часть.
Начал реализовывать и столкнулся с такой проблемой что цвет состовляющей пикселя например R получается больше 255, а такого, быть не может Код на С++ Скорей всего я не понял принцып работы алгоритма. unsigned int *GausFilter(unsigned int *Image) Заранее спасибо. Если создал тему не в том разделе прошу прощения. Сообщение отредактировано: ninja - 6.02.2011 18:34 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Кто тебе сказал, что нет исходников? google -> "C++ gaussian blur" выдаст тебе десятки разных программ. Первая же ссылка выводит на исходник, если что. Если не понял принцип работы - то по той же ссылке лежит PDF-файл, разжевывающий все до неприличия (правда, на английском. Я вообще предпочитаю работать с англоязычными источниками. Надежнее оно как-то)
|
ninja |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Владимир спасибо большущее! Я просто искал на русском т.к. с английским не очень хорошо, буду разбираться. Не могли бы Вы мне на словах объяснить принцып работы?
например есть окно 1,2,1 2,4,2 1,2,1 и есть какое то изображение 1,2,3,4,5 6,7,8,9,10 11,12,13,14 15,16,17,18 19,20,21,22 ...... беру например пиксель 12 раскладываю его на 3 составляющие R,G и B, что дальше делать не пойму, толи брать умножать окно на соответствующие пиксели, т.е (7*1) + (8*2) + (9*1) + (11*2) + (12*4).... тогда что делать с составляющими цвета.... Если не трудно объясните пожалуйста. Сообщение отредактировано: ninja - 6.02.2011 19:41 |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
составляющие цвета надо получить не только для этого пикселя, но и для соседних.
а дальше каждый из них умножить на соответствующий коэффициент (из "окна") и сложить. Коэффициенты "окна" задают пропорции, в которых каждый из соседей влияет на вычисляемый пиксель. Чтобы не вылезать из интервала 0..255 просто нормализацию надо выполнить (обычно - разделить на сумму коэффициентов). -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
ninja |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Спасибо, я разобрался...
|
![]() ![]() |
![]() |
Текстовая версия | 7.09.2024 12:50 |