Главная страница

Цифр.обработка сигналов_Лабораторный_практикум. Сигналов


Скачать 7.16 Mb.
НазваниеСигналов
Дата13.03.2022
Размер7.16 Mb.
Формат файлаpdf
Имя файлаЦифр.обработка сигналов_Лабораторный_практикум.pdf
ТипПрактикум
#394768
страница4 из 7
1   2   3   4   5   6   7
Лапласиан
для
"
восьми
соседей
" (
двумерный
фильтр
высоких
частот
)
Оператор обработки двумерных данных, описываемый маской, приве- денной на рис. 1б реализует функцию выделения сигналов малоразмерных объектов от фоновой составляющей в видеосигнале. Выходной сигнал этого фильтра связан с входным сигналом уравнением вида y
2
(n
1
, n
2
)= –x(n
1
, n
2
)–x(n
1
–1, n
2
)–x(n
1
–2, n
2
)–x(n
1
, n
2
–1)+8x(n
1
–1, n
2
–1)–
–x(n
1
–2, n
2
–1)–x(n
1
, n
2
–2)–x(n
1
–1, n
2
–2)–x(n
1
–2, n
2
–2).
Фильтры высоких частот повышают уровень малоразмерных деталей в изображении. Такая фильтрация используется в тех случаях, когда необходи- мо исследовать высокочастотную структуру объекта [3].
Аналогичным образом можно описать связь выходного и входного сиг- налов двумерных нерекурсивных фильтров, маски которых приведены на рис.1, в–к.
Выделение
«
края
» (
перепада
яркости
в
изображении
)
Выделение «края» используется как предварительный шаг в процессе извлечения признаков изображения. Хотя выделение «края» в основном ис- пользуется в машинном зрении, оно конечно, имеет и другие применения.
Например, информация о «крае», полученная в процессе его выделения, мо- жет быть использована в исходном изображении для усиления его четкости.

36
Выделение «края» можно использовать как метод для изготовления оригинальных изображений, которые могут затем ретушироваться в про- граммах рисования для создания высокохудожественного изображения [3].
Рассмотрим два метода усиления «края»:
Выделение
«
края
» по
Лапласу
Метод усиления края по Лапласу отличается от других методов тем, что края высвечиваются независимо от направления. Функция f(x, y) Лапласа за- писывается в виде
L(f(x, y))=d
2
f/dx
2
+ d
2
f/dy, где d
2
f/dx
2
– вторая частная производная по х, а d
2
f/dy – вторая частная произ- водная по у.
Для дискретных функций вторые производные могут быть аппроксими- рованы следующим образом: d
2
f/dx
2
= f(x+1, y)–2
⋅f(x, y)+f(x–1, y), d
2
f/dy = f(x, y+1)–2
⋅f(x, y)+f(x, y–1).
Таким образом, Лапласиан можно записать в следующем виде:
L(f(x, y))=f(x+1, y)+f(x–1,y)+f(x, y–1)+f(x, y+1)–4
⋅f(x, y).
Это выражение можно рассматривать как импульсную характеристику фильтра, записанная в виде функции f(x, y). Для удобства знаки перед коэф- фициентами меняют на противоположные. Маска лапласиана для "четырех соседей" имеет вид:














=
0 1
0 1
4 1
0 1
0
)
y
,
x
(
p
Пример маски лапласиана для "восьми соседей" приведен на рис. 1б.
Выделение
«
края
» методом направленного градиента
Иногда необходимо высветить и другие «края» изображения, не строго вертикальные или горизонтальные. Могут быть важны диагональные «края».
Избирательное высвечивание краев в различных направлениях используется иногда для того, чтобы пользователь получил общее представление об изо- бражении. Метод направленного градиента как раз используется для этой це- ли. Для высвечивания «краев» в различных направлениях используется 8 раз- личных масок, четыре из них приведены на рис. 1г-1ж. Эти направления на- зываются как стороны света: "север", "юг", "восток", "юго–восток" (всего су- ществует 8 масок).

37
Интенсивность выходного элемента изображения будет зависеть от гра- диента изменения яркости (чем больше наклон, тем ярче элемент). Например, градиент "восток" будет усиливать «край», который содержит переход от черного к белому "слева-направо" [5].
Выделение
линий
Маски, приведенные на рис. 1з – 1к, называются операторами выделения вертикально, горизонтально и наклонно–ориентированных деталей, соответ- ственно.
Ранговая
фильтрация
Особое место среди алгоритмов нелинейной обработки сигналов зани- мают процедуры ранговой фильтрации данных. Ранговой обработкой данных называют преобразование набора отсчетов сигнала в вариационный ряд, в котором отсчеты сигнала расставлены по значимости (возрастанию значений амплитуд). Первый (минимальный) ранг в вариационном ряде чисел занимает отсчет сигнала с минимальной амплитудой. Последний (максимальный) ранг в вариационном ряде чисел занимает отсчет сигнала с максимальной ампли- тудой. Наиболее часто при обработке сигналов используются алгоритмы ме- дианной фильтрации, которые реализуют процедуры вычисления центра ва- риационного ряда [2].
Рассмотрим принцип обработки данных в медианном фильтре на примере.
29 25 29 22 60 27 42 29 27 22 25 27 27
29 29 29 42 60
З на ч ение 29 за меня ет 60 в вы хо д но м изо б р а жении. Е сл и 60 б ы л о зна ч е- нием т о ч ки ш ума , со зд а вш ей б ел о е пят но на исхо д но м изо б р а жении,
эт о пят но б уд ет о т ф ил ьт р о ва но .
М ед иа нно е ил и ср ед инно е зна ч ение
И схо д но е изо б р а жение
О кр ужение т о ч ки 3х3
О б р а б а т ы ва ет ся цент р а л ь- на я т о ч ка со зна ч ением 60
Рис. 2. – Работа медианного фильтра

38
2. ЛИНЕЙНАЯ И РАНГОВАЯ ФИЛЬТРАЦИЯ (ЧАСТЬ 1)
2.1.
Описание
инструментальных
программ
Имя
про-
граммы
Назначение
Синтаксис
view
Осуществляет просмотр изобра- жений view<имя файла>
med
Осуществляет ме- дианную фильт- рацию med<имя вх.файла><имя вых.файла>
При выполнении этой команды на экране по- являются названия файлов, содержащих ве- совые коэффициенты фильтров. Выберите необходимый файл с расширением *.msk и нажмите
fir
Осуществляет двумерную ли- нейную свертку fir<имя вх.файла><имя вых.файла>
При выполнении этой команды на экране по- являются названия файлов, содержащих ве- совые коэффициенты фильтров. выберите необходимый файл с расширением *.msk и нажмите
norm
Осуществляет нормировку файла norm<имя файла>
add
Осуществляет сложение двух изображений add<слаг.1><слаг.2><сумма>
sub
Вычитает два изо- бражения sub<вычитаемое><вычитатель>
<разность>
stat
Показывает рас- пределение изо- бражения (гистог- рамму),среднек- вадратическое от- клонение, матема- тическое ожида- ние stat<имя файла>
cut
Осуществляет просмотр осцил- лограмм строк участка изображе- ния cut<имя вх.файла><имя вых.файла> переместите белый квадрат, указанных раз- меров, на соответствующий участок изобра- жения и нажмите кнопку F3. Появятся ос- циллограммы строк выделенного участка изображения.

39
Программа fir выполняет свертку изображения с заданной маской
2 1
i i
a согласно выражению
,
0
n
,
0
n
,
)
i n
,
i n
(
x a
)
n
,
n
(
y
2 1
M
0
i
M
0
i
2 2
1 1
i i
2 1
1 1
2 2
2 1




=
∑ ∑
=
=
(2) где x(n
1
, n
2
), y(n
1
, n
2
) – отсчеты входных и выходных изображений,
2 1
i i
a
– ве- совые коэффициенты маски размером М1хМ2. Говорят, что маска
a
i i
1 2
«скользит» по изображению и для каждого положения маски вычисляется выражение (2).
Входные отсчеты должны располагаться в файле побайтно, а выходные отсчеты записываются в выходной файл как двухбайтные, чтобы избежать переполнения. Чтобы обеспечить коэффициент фильтра, равный 1, необхо- димо пронормировать все отчеты обработанного изображения на константу, равную сумме выходных коэффициентов маски. В программе MED по изо- бражению так же «скользит» маска и для каждого положения маски вычисля- ется одно значение выходного изображения. При каждом положении маски в отдельный массив копируются отчеты изображения, которым соответствуют ненулевые элементы маски. Затем эти отчеты сортируются в порядке возрас- тания значений (строится вариационный ряд) и в качестве выходного прини- мается значение отчета занявшего центральное (медианное) положение в ва- риационном ряде.
2.2.
Исходные
данные
:
– исходное изображение – Lena.dat;
– изображение, содержащее импульсный шум – in.dat;
– изображение, содержащее нормальный шум – n.dat.
Файлы с весовыми коэффициентами фильтров:
Имя файла M1.msk M2.msk M3.msk M4.msk M5.msk
Весовые коэффици- енты фильт- ра
0 0
0 1
1 1
0 0
0 0
1 0
1 1
1 0
1 0
1 1
1 1
1 1
1 1
1 0
0 1
0 0
0 1
1 1
0 1
1 1
1 1
0 1
1 1
0 0
0 1
0 0
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
Число весо- вых коэф- фициентов
3 5 9 13 16

40
2.3.
Алгоритм
выполнения
работы
Ф а йл ш ум а импул./норм .
Ф а йл исходного изобра ж ения
Ф а йл ш ум а импул./норм .
Н ормировка фа йлов
Ф ильтр изобра ж .
ра нгов .\ линейн.
Ра спределение ра зницы
(г и стогра м м а )
За ш умленны е изобра ж ения
О тфильтрова нны е изобра ж ения
О тличие от оригина ла
2.4.
Порядок
выполнения
части
1
работы
В менеджере программ, в группе «Приложения», дважды «щелкните» по пиктограмме «LAB3».
2.4.1. Просмотрите исходное изображение, изображение импульсного и нормального шума. Для этого наберите в командной строке:
view Lena im n
2.4.2. Создайте два файла изображения, зашумленные импульсным и нормальным шумом. Наберите в командной строке:
add Lena im i0
i0.dat – изображение, зашумленное импульсным шумом.
Наберите в командной стороке:
add Lena n n0
2.4.3. Просмотрите исходное, зашумленное импульсным, нормальным шумом изображения. Наберите в командной строке:
view Lena i0 n0
2.4.4. Выполните медианную фильтрацию изображения, зашумленного импульсным шумом. Наберите в командной строке:

41
med i0 ri1
Выберите файл M1.msk и нажмите .
В каталоге появится файл отфильтрованного изображения – ri1.dat.
Аналогичным образом, используя маски М2, М3, М4, М5, получите от- фильтрованные изображения ri2.dat, ri3.dat, ri4.dat, ri5.dat. Для этого наберите в командной строке:
med i0 ri2
med i0 ri3
med i0 ri4
med i0 ri5
2.4.5. Посмотрите результаты фильтрации. Для этого наберите в команд- ной строке:
view i0 ri?.dat
2.4.6. Выполните медианную фильтрацию изображения, зашумленное нормальным шумом. Процедуру фильтрации осуществите аналогично п.4.4.
Наберите в командной строке:
med n0 rn1
med n0 rn2
med n0 rn3
med n0 rn4
med n0 rn5
2.4.7. Просмотрите результаты фильтрации. Для этого наберите в ко- мандной строке:
view n0 rn?.dat
2.4.8. Выполните линейную фильтрацию изображения с импульсными характеристиками фильтра (М1, М2, М3, М4, М5). Наберите в командной строке:
fir i0 Li1
Выберите файл M1.msk и нажмите . В каталоге появится файл отфильтрованного изображения – Li1.dat . Аналогичным образом получите отфильтрованные изображения Li2.dat, L3.dat, Li4.dat, Li5.dat. Для этого на- берите в командной строке:
fir i0 Li2
fir i0 Li3
fir i0 Li4
fir i0 Li5

42 2.4.9. Посмотрите результаты фильтрации. Для этого наберите в команд- ной строке:
view i0 Li?.dat
2.4.10. Выполните линейную фильтрацию изображения, зашумленное нормальным шумом. Процедуру фильтрации осуществите аналогично п.
2.4.6. Наберите в командной строке:
fir n0 Ln1
fir n0 Ln2
fir n0 Ln3
fir n0 Ln4
fir n0 Ln5
2.4.11. Посмотрите результаты фильтрации. Для этого наберите в ко- мандной строке:
view n0 Ln?.dat
2.4.12. Произведите нормировку файлов, полученных после медианной фильтрации. Наберите в командной строке:
norm/v r/??.dat
При выполнении программы norm появится гистограмма изображения.
Для осуществления нормировки нажмите . Указанным способом про- нормируйте все файлы с отфильтрованными изображениями.
2.4.13. Произведите нормировку файлов, полученных после линейной фильтрации. Наберите в командной строке:
norm/v L?1.dat
При выполнении программы norm появится гистограмма изображения.
Клавишами <стрелка вверх>,<стрелка вниз> установить коэффициент нор- мировки (1/ratio) равный числу весовых коэффициентов в соответствующей маски фильтра. Так для файлов L?1.dat 1/ratio должен составить 3. Клавиша- ми +<стрелка вверх>, +<стрелка вниз> коэффициент норми- ровки устанавливается более точно. После чего нажмите .
norm/v L?2.dat
norm/v L?3.dat
norm/v L?4.dat
norm/v L?5.dat
Для файлов L?2.dat 1/ratio должен составить 5, для L?3.dat – 9, для
L?4.dat – 13, L?5.dat – 16.
2.4.14. Для оценки качества фильтрации необходимо определить на сколько отфильтрованное изображение отличается от исходного. Осуществи-

43 те вычитание исходного изображения из отфильтрованных. Наберите в ко- мандной строке:
sub ri1 Lena ris1
sub ri2 Lena ris2
sub ri3 Lena ris3
sub ri4 Lena ris4
sub ri5 Lena ris5
sub rn1 Lena rns1
sub rn2 Lena rns2
sub rn3 Lena rns3
sub rn4 Lena rns4
sub rn5 Lena rns5
sub Li1 Lena Lis1
sub Li2 Lena Lis2
sub Li3 Lena Lis3
sub Li4 Lena Lis4
sub Li5 Lena Lis5
sub Ln1 Lena Lns1
sub Ln2 Lena Lns2
sub Ln3 Lena Lns3
sub Ln4 Lena Lns4
sub Ln5 Lena Lns5
В результате вычитания исходного изображения из отфильтрованного,
Вы должны получить 20 файлов, приведенных в табл.1.:
Таблица. 1
Тип фильтра и шума
Имена файлов
Ранговая фильтрация, импульсный шум ris1.dat ris2.dat ris3.dat ris4.dat ris5.dat
Ранговая фильтрация, нормальный шум rns1.dat rns2.dat rns3.dat rns4.dat rns5.dat

44
Линейная фильтрация, импульсный шум
Lis1.dat
Lis2.dat
Lis3.dat
Lis4.dat
Lis5.dat
Линейная фильтрация, нормальный шум
Lns1.dat
Lns2.dat
Lns3.dat
Lns4.dat
Lns5.dat
2.4.15. При помощи программы STAT просмотрите распределения отли- чий от оригинала после линейной и медианной фильтрации. Занесите значе- ния среднеквадратического отклонения (СКО) в таблицу. Для этого наберите в командной строке STAT и через пробел имена файлов. Повторите эту опе- рацию для всех файлов.
stat ris1 Lis1
stat ris2 Lis2
stat ris3 Lis3
stat ris4 Lis4
stat ris5 Lis5
stat rns1 Lns1
stat rns2 Lns2
stat rns3 Lns3
stat rns4 Lns4
stat rns5 Lns5
Таблица 2
Тип фильтра и
шума
Имена файлов
Число весовых
коэф. фильтров
СКО
Ранговая фильт- рация, импульсный шум ris1.dat ris2.dat ris3.dat ris4.dat ris5.dat
Ранговая фильт- рация, нормальный шум rns1.dat rns2.dat rns3.dat rns4.dat rns5.dat

45
Линейная фильт- рация, импульсный шум
Lis1.dat
Lis2.dat
Lis3.dat
Lis4.dat
Lis5.dat
Линейная фильт- рация, нормальный шум
Lns1.dat
Lns2.dat
Lns3.dat
Lns4.dat
Lns5.dat
2.4.16. На основе данных табл. 2 постройте четыре графика зависимости
СКО то числа весовых коэффициентов для четырех групп файлов.
2.4.17. Сделайте заключение в каких случаях целесообразнее применять линейные фильтры, а в каких ранговые. Объясните поведение построенных четырех графиков. Назовите типы линейных и нелинейных фильтров кроме тех, которые используются в данной лабораторной работе.
3. ОСНОВНЫЕ АЛГОРИТМЫ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
(ЧАСТЬ 2)
3.1.
Исходные
данные
:
– изображение телевизионной таблицы – tv.dat.
Файлы с весовыми коэффициентами фильтров:
Таблица. 3
Имя файла
lapl.msk
lff.msk
ddf.msk
gradz.msk
Весовые коэффициенты фильтра
1 1
1 1
8 1
1 1
1








9
/
1 9
/
1 9
/
1 9
/
1 9
/
1 9
/
1 9
/
1 9
/
1 9
/
1 1
2 1
2 4
2 1
2 1




1 1
1 1
2 1
1 1
1




Имя файла
grads.msk
gor.msk
vert.msk
diag.msk
Весовые коэффициенты фильтра
1 1
1 1
2 1
1 1
1




1 1
1 2
2 2
1 1
1






1 2
1 1
2 1
1 2
1






2 1
1 1
2 1
1 1
2







46
3.2.
Порядок
выполнения
работы
3.2.1. Просмотрите файл исходного изображения tv.dat используя про- грамму view. Наберите в командной строке:
view tv.dat
3.2.2. Для просмотра осциллограмм строк изображения необходимо пронормировать файл программой norm. Наберите в командной строке:
norm/v tv.dat
При выполнении программы norm появится гистограмма изображения.
Для осуществления нормировки нажмите .
3.2.3. Программой cut просмотрите осциллограммы характерных участ- ков изображения телевизионной таблицы. Наберите в командной строке:
cut tv.dat tv0.dat
При выполнении программы cut появится контур белого квадрата на изображении. Клавишами и уста- новите необходимые размеры квадрата клавишами <Стрелка вниз> и <Стрел- ка вверх> переместите квадрат в нужный участок изображения. Для просмот- ра осциллограмм на выделенном участке нажмите клавишу F3. Осцилло- граммы зарисуйте. После просмотра нажмите клавиши .
3.2.4. Обработайте исходное изображения масками, приведенные в табл. 3. Обработку осуществите программой
1   2   3   4   5   6   7


написать администратору сайта