Реферат: Программа фильтрации шумов
BoxCurrentLine := Image1.Picture.Bitmap.ScanLine[VertB];
for HorB := (Hor - (Value div 2)) to (Hor + (Value div 2)) do
begin
if (HorB >= 0) and (VertB >= 0) and
(HorB < Image1.Picture.Bitmap.Width) and
(VertB < Image1.Picture.Bitmap.Height) then
PixelArray[Counter] := BoxCurrentLine^[HorB]
else
PixelArray[Counter] := 0;
Inc(Counter);
end;
end;
// Сортируем массив
for VertB := 0 to Value*Value - 1 do
begin
for HorB := VertB to Value*Value - 1 do
begin
if PixelArray[VertB] > PixelArray[HorB] then
begin
Temp := PixelArray[VertB];
PixelArray[VertB] := PixelArray[HorB];
PixelArray[HorB] := Temp;
end;
end;
end;
// Берем то что посередине и присваиваем текущему пикселю
CurrentLine^[Hor] := PixelArray[((Value*Value) div 2) + 1];
end;
end;