Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация шума


Pahan07 ©   (2005-05-31 13:27:00) 

Помогите пожалуйста!
Мна надо написать фильтр для гаусового (и/или белого) шума, для картинки или видеопотока.
В нете куча терии по математики, а мне нужно всего-то пара формул, как этот фильтр запрограммировать. С математикой плохо, а прогу надо написать позрез.
Подайте идеи, или, может, у кого исходники есть?


programania   (2005-05-31 21:08:00) [1]

http://www.cee.hw.ac.uk/hipr/html/median.html
А короче надо сортировать пикселы вокруг и брать
средний по номеру, вот кусочек программы:

PROCEDURE noise;
var x,y,xx,yy,d,j,i,n,q,z:integer; m:array[1..81] of byte;
begin
d:=4; //1..4 радиус
q:=d*2+1; q:=q*q-1; q:=q div 2;
for y:=1 to h do for x:=1 to w do begin
 n:=0;
 for yy:=y-d to y+d do for xx:=x-d to x+d do
 if (yy<>y)or(xx<>x) then begin
   if (yy<1)or(xx<1)or(yy>h)or(xx>w) then z:=bi[y,x] else
// сортировка вставкой
   z:=bi[yy,xx];
   i:=1; while (i<=n)and(z>m[i]) do inc(i);
   for j:=n downTo i do m[j+1]:=m[j];
   inc(n);
   m[i]:=z;
 end;
 bb[y,x]:=m[q];
end;
end;


Jeer   (2005-05-31 14:32:00) [2]

Тут ничем твоему горю не поможешь, т.к. телепатов здесь не водится - какой тебе фильтр нужен.

Хотя, вот тебе простейший:

Y(i+1) = A*Y(i) + B*X(i)


Наверх

Титульная страница Поиск, карта сайта Написать письмо