Реферат: Программа фильтрации шумов
Задание.
Создать программу, осуществляющую фильтрацию шумов в растровых изображениях методами усредняющего, порогового и медианного фильтров.
Программа написана на языке Object Pascal и выполняется в среде Win32. Общий вид программы показан на рис. № 1.
Рис. № 2. Общий вид главного окна программы c загруженным исходным изображением.
1. Усредняющий фильтp.
Алгоритм работы усредняющего фильтра заключается в замене значения яркости в
текущем пикселе на среднюю яркость, вычисленную по его 8 окрестностям, включая и сам элемент. Этот фильтр является самым простым. К недостаткам его можно отнести сглаживание ступенчатых и пилообразных функций. Кроме того пиксели, имеющее существенно отличное значение яркости и являющимися шумовыми могут вносить значительный вклад в результат обработки.
Реализация фильтра представлена в виде процедуры:
Procedure AverageFilter(Value:Integer);
Данная процедура осуществляет алгоритм усредняющего фильтра применительно к объекту TBitmap. В него предварительно должна быть загружено изображение (Рис. № 2). Результат работы усредняющего фильтра можно увидеть на рис. № 3. Параметр Value – порог при котором производятся манипуляции с пикселом.
Procedure TMainForm.AverageFilter;
var
PrevisionLine:pByteArray;
CurrentLine:pByteArray;
NextLine:pByteArray;
I,J:Integer;
Summ:Integer;
begin
if Image1.Picture.Bitmap.PixelFormat = pf8bit then
begin
for I := 0 to Image1.Picture.Bitmap.Height - 1 do
begin
CurrentLine := Image1.Picture.Bitmap.ScanLine[I];
for J := 0 to Image1.Picture.Bitmap.Width - 1 do
begin
Summ := 0;
if I > 0 then
--> ЧИТАТЬ ПОЛНОСТЬЮ <--