![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Фильтрация шумов в растровых изображениях методами усредняющего, порогового и медианного фильтров |
Белорусский Государственный Университет Информатики и РадиоэлектроникиКонтрольная работа по МАГИ Выполнил студент группы 500501 Балахонов Е.В.Задание.Создать программу, осуществляющую фильтрацию шумов в растровых изображениях методами усредняющего, порогового и медианного фильтров.Програма написана на языке Objec Pascal и выполняется в среде Wi 32. Общий вид программы показан на рис. № 1.Рис. № 1. Общий вид главного окна программы.Рис. № 2. Общий вид главного окна программы c загруженным исходным изображением.1. Усредняющий фильтp. Алгоритм работы усредняющего фильтра заключается в замене значения яркости в текущем пикселе на среднюю яркость, вычисленную по его 8 окрестностям, включая и сам элемент. Этот фильтр является самым простым. К недостаткам его можно отнести сглаживание ступенчатых и пилообразных функций. Кроме того пиксели, имеющее существенно отличное значение яркости и являющимися шумовыми могут вносить значительный вклад в результат обработки.Реализация фильтра представлена в виде процедуры: Procedure AverageFil er(Value:I eger); Данная процедура осуществляет алгоритм усредняющего фильтра применительно к объекту Bi map. В него предварительно должна быть загружено изображение (Рис. № 2). Результат работы усредняющего филтра можно увидеть на рис. № 3. Параметр Value – порог при котором производятся манипуляции с пикселом.Procedure Mai Form.AverageFil er; var Previsio Li e:pBy eArray; Curre Li e:pBy eArray; ex Li e:pBy eArray; I,J:I eger; Summ:I eger; begi if Image1.Pic ure.Bi map.PixelForma = pf8bi he begi for I := 0 o Image1.Pic ure.Bi map.Heigh - 1 do begi Curre Li e := Image1.Pic ure.Bi map.Sca Li e; for J := 0 o Image1.Pic ure.Bi map.Wid h - 1 do begi Summ := 0; if I > 0 he begi Previsio Li e := Image1.Pic ure.Bi map.Sca Li e; if J > 0 he begi Summ := Summ Previsio Li e^; if J 1 < Image1.Pic ure.Bi map.Wid h he begi Summ := Summ Previsio Li e^; e d; e d; if J > 0 he begi Summ := Summ Curre Li e^; if J 1 < Image1.Pic ure.Bi map.Wid h he begi Summ := Summ Curre Li e^; e d; if I 1 < Image1.Pic ure.Bi map.Heigh he begi ex Li e := Image1.Pic ure.Bi map.Sca Li e; if J > 0 he begi Summ := Summ ex Li e^; if J 1 < Image1.Pic ure.Bi map.Wid h he begi Summ := Summ ex Li e^; e d; e d; if (Summ div 9) = 0) a d (Ver B < Image1.Pic ure.Bi map.Heigh ) he BoxCurre Li e := Image1.Pic ure.Bi map.Sca Li e; for HorB := (Hor - (Value div 2)) o (Hor (Value div 2)) do begi if (HorB >= 0) a d (Ver B >= 0) a d (HorB < Image1.Pic ure.Bi map.Wid h) a d (Ver B < Image1.Pic ure.Bi map.Heigh ) he PixelArray else PixelArray := 0; I c(Cou er); e d; e d; // Сортируем массив for Ver B := 0 o Value Value - 1 do begi for HorB := Ver B o Value Value - 1 do begi if PixelArray he begi emp := PixelArray; PixelArray := emp; e d; e d; e d; // Берем то что посередине и присваиваем текущему пикселю Curre Li e^; e d; e d; Image1.Visible := False; Image1.Visible := rue; 4.E abled := rue; e d else MessageBox(Ha dle,'Такой формат файла пока не подерживается.', 'Слабоват я пока.',MB OK or MB ICO S OP or MB APPLMODAL); e d; e d; Результат работы фильтра можно увидеть на рис.
№ 6. Рис. № 6. Начало работы медианного фильтра – запрос на размер окна фильтра.Рис. № 7.Результат работы медианного фильтра с окном 3 на 3.4. Заполнение объекта другим цветом. Для упрощения алгоритма слудующая процедура заполняет графические объекты только белым цветом, однако путем простого добавления диалогового окна с вопросом о цвете заполнения можно добиться заполнения объектов любым цветом.procedure Mai Form.Image1MouseDow (Se der: Objec ; Bu o : MouseBu o ; Shif : Shif S a e; X, Y: I eger); var arge Pixel:By e; Cha geCou :I eger; Curre Li e:pBy eArray; PrevLi e:pBy eArray; ex Li e:pBy eArray; YOffse , XOffse :I eger; begi if Image1.Pic ure.Bi map.PixelForma = pf8bi he begi // Запоминаем значение пиксела на котором щелкнули мышкой arge Pixel := pBy eArray(Image1.Pic ure.Bi map.Sca Li e; YOffse := 0; // Пока число замен не станет равным 0 двигаемся вверх repea Cha geCou := 0; if Y - YOffse < 0 he Break; // Берем линию Curre Li e := Image1.Pic ure.Bi map.Sca Li e; PrevLi e := Image1.Pic ure.Bi map.Sca Li e arge Pixel he Break; XOffse := 0; // Заполняем влево ее пока не дойдем до границы объекта if X - 1 >= 0 he while Curre Li e^ = arge Pixel do begi Curre Li e^ := 255; I c(XOffse ); I c(Cha geCou ); if X - XOffse - 1 < 0 he Break; e d; XOffse := 0; // Заполняем вправо ее пока не дойдем до границы объекта if X 1 < Image1.Pic ure.Bi map.Wid h - 1 he while Curre Li e^ = arge Pixel do begi Curre Li e^ := 255; I c(XOffse ); I c(Cha geCou ); if X XOffse 1 > Image1.Pic ure.Bi map.Wid h - 1 he Break; e d; I c(YOffse ); u il Cha geCou = 0; YOffse := 1; // Пока число замен не станет равным 0 двигаемся вниз repea Cha geCou := 0; if Y YOffse > Image1.Pic ure.Bi map.Wid h - 1 he Break; // Берем линию Curre Li e := Image1.Pic ure.Bi map.Sca Li e; ex Li e := Image1.Pic ure.Bi map.Sca Li e arge Pixel he Break; XOffse := 0; // Заполняем влево ее пока не дойдем до границы объекта if X - 1 >= 0 he while Curre Li e^ = arge Pixel do begi Curre Li e^ := 255; I c(XOffse ); I c(Cha geCou ); if X - XOffse - 1 < 0 he Break; e d; XOffse := 0; // Заполняем вправо ее пока не дойдем до границы объекта if X 1 < Image1.Pic ure.Bi map.Wid h - 1 he while Curre Li e^ = arge Pixel do begi Curre Li e^ := 255; I c(XOffse ); I c(Cha geCou ); if X XOffse 1 > Image1.Pic ure.Bi map.Wid h - 1 he Break; e d; I c(YOffse ); u il Cha geCou = 0; Image1.Visible := False; Image1.Visible := rue; e d; e d; Результаты работы программы можно увидеть на рис. № 8 и № 9.Рис. № 8. Исходное изображение для заполнения.Рис. № 9. Результат заполнения.5. Инверсия. Ну и напоследок сделаем инверсию нашего изображения (Рис. 10, 11):procedure Mai Form. 7Click(Se der: Objec ); var Li e:pBy eArray; I,J:I eger; Bi s:By e; begi Bi s := 1; for I :=0 o Image1.Pic ure.Bi map.Heigh - 1 do begi Li e := Image1.Pic ure.Bi map.Sca Li e; case Image1.Pic ure.Bi map.PixelForma of pf4bi :Bi s := 1; pf8bi :Bi s := 1; pf15bi :Bi s := 2; pf16bi :Bi s := 2; pf24bi :Bi s := 3; pf32bi :Bi s := 4; e d; for J :=0 o Image1.Pic ure.Bi map.Wid h Bi s - 1 do Li e^; e d; Image1.Visible := False; Image1.Visible := rue; 4.E
abled := rue; e d;Рис. № 10. Исходное изображение для инверсии. Рис. № 11. Результат инверсии изображения.
При последовательном способе изображения стереопары проецируются посредством оптической приставки (состоящей из системы зеркал или двух призм) на соседние (по вертикали или горизонтали) участки фотокатода одной передающей трубки и затем последовательно передаются по одному каналу связи. Разделение изображений на приёмной стороне при одновременной передаче может быть очковое — с использованием двух кинескопов и зеркального стереоскопа , очков поляроидных или цветных очков (см. Анаглифов цветных метод ) либо экранное — с помощью растрового экрана (см. Растр ). Применение нашло только очковое разделение. При последовательной передаче приём изображений стереопары можно производить на один кинескоп, а разделение изображений — вращающимся диском с цветными фильтрами. Системы цветного С. т. тоже могут быть одновременными и последовательными — как по передаче цветов, так и по передаче яркостных градаций изображений стереопары. Методы разделения изображений цветной стереопары те же, что и в черно-белом С. т. (за исключением метода цветных анаглифов). Каждая из систем требует весьма широкой полосы частот, поэтому одной из основных задач в области создания С. т. является изыскание методов сужения полосы частот
1. Непараметрический метод обнаружения гармонического сигналана фоне широкополосного шума
2. Разработка программного обеспечения для фильтрации растровых изображений
5. Методы уменьшения шумов и повышения помехоустойчивости электронных устройств
9. Методы цветовой коррекции изображений
10. Фильтрация строк с использованием автоматов
11. Метод изображений в электростатике
12. Нейросетевые методы распознавания изображений
13. Вывод уравнения Лапласа. Плоские задачи теории фильтрации
15. Методы и средства цифровой коррекции изображения в оптико-электронных системах визуализации
17. Плоские задачи теории фильтрации
18. Условия фильтрации для реактивных лестничных четырехполюсников
20. Исследование природных ресурсов планеты с помощью космических методов
21. Исследование клеточного цикла методом проточной цитометрии
25. Новейшие методы селекции: клеточная инженерия, генная инженерия, хромосомная инженерия
27. Методы и модели демографических процессов
28. Гидрохимический, атмохический и биогеохимический методы поисков
29. Добыча золота методами геотехнологии
30. Государственное регулирование экономики: формы и методы
32. Нелегальная миграция в России и методы борьбы с ней
33. Предмет и метод гражданского права
34. Людвиг фон Мизес. Бюрократия. Запланированный хаос
35. Формы и методы государственного регулирования экономики в Казахстане
36. Математические методы и модели в конституционно-правовом исследовании
37. Методы комплексной оценки хозяйственно-финансовой деятельности
41. Кровоточащие и плачущие изображения с точки зрения современного естествознания
42. Русская здрава (методы оздоровления на Руси)
44. "Горечь" и "сладость" человеческой жизни в изображении И.Бунина и А.Куприна
45. Изображение деревни в романе Ф.А. Абрамова "Братья и сестры"
46. Особенности изображения двух миров в поэме А. Блока "Двенадцать"
47. Русская деревня в изображении В.П. Астафьева
48. Методы исследования литературы
49. Изображение русского национального характера в произведениях Н.С. Лескова и И.А. Гончарова
50. Гармонический анализ "Новеллетты" F-dur ор.21 №1 Р. Шумана
51. Бисмарк Отто Эдуард Леопольд Фон Шенхаузен
52. Метод комплексного археолого-искусствоведческого анализа могильников
57. Разработка методов определения эффективности торговых интернет систем
58. Шум компьютера
59. Метод деформируемого многогранника
61. Методы прогнозирования основанные на нейронных сетях
62. Применение методов линейного программирования в военном деле. Симплекс-метод
63. Вычисление площади сложной фигуры методом имитационного моделирования (Windows)
64. Математические методы и языки программирования: симплекс метод
65. Билеты, решения и методичка по Информатике (2.0)
66. Вычисление определённого интеграла с помощью метода трапеций на компьютере
67. Курс лабораторных по MathCAD
68. Полином Гира (экстраполяция методом Гира)
69. Компьютерные вирусы, типы вирусов, методы борьбы с вирусами
73. Парольные методы защиты информации в компьютерных системах от несанкционированного доступа
75. Лабораторная работа №6 по "Основам теории систем" (Решение задачи о ранце методом ветвей и границ)
76. Решение задач - методы спуска
77. Решение смешанной задачи для уравнения гиперболического типа методом сеток
78. Решение систем дифференциальных уравнений методом Рунге-Куты 4 порядка
79. Решение систем линейных алгебраических уравнений методом Гаусса и Зейделя
80. Аксиоматический метод. Логическое строение геометрии
81. Расчет дифференциального уравнения первого, второго и третьего порядка методом Эйлера
82. Сетевые методы в планировании
83. Вычисление интеграла фукции f (x) (методом Симпсона WinWord)
85. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ПЯТИТОЧЕЧНЫМ МЕТОДОМ АДАМСА – БАШФОРТА
89. Методы и приемы решения задач
90. Свойства усредненной функции с сильной осцилляцией
91. Методы обучения математике в 10 -11 класах
92. Решение задач линейной оптимизации симплекс – методом
93. Приближённые методы решения алгебраического уравнения
94. Решение дифференциальных уравнений 1 порядка методом Эйлера
95. Методы расчета электрических полей
96. Метод Алексея Юрьевича Виноградова для решения краевых задач
97. Решение задач на построение сечений в многогранниках методом следов
98. Новый метод «дополнительных краевых условий» Алексея Юрьевича Виноградова для краевых задач