Реферат: Программа фильтрации шумов
Inc(YOffset);
until ChangeCount = 0;
YOffset := 1;
// Пока число замен не станет равным 0 двигаемся вниз
repeat
ChangeCount := 0;
if Y + YOffset > Image1.Picture.Bitmap.Width - 1 then
Break;
// Берем линию
CurrentLine := Image1.Picture.Bitmap.ScanLine[Y + YOffset];
NextLine := Image1.Picture.Bitmap.ScanLine[Y + YOffset + 1];
if NextLine[X] <> TargetPixel then
Break;
XOffset := 0;
// Заполняем влево ее пока не дойдем до границы объекта
if X - 1 >= 0 then
while CurrentLine^[X - XOffset - 1] = TargetPixel do
begin
CurrentLine^[X - XOffset] := 255;
Inc(XOffset);
Inc(ChangeCount);
if X - XOffset - 1 < 0 then
Break;
end;
XOffset := 0;
// Заполняем вправо ее пока не дойдем до границы объекта
if X + 1 < Image1.Picture.Bitmap.Width - 1 then
while CurrentLine^[X + XOffset + 1] = TargetPixel do
begin