Методи фільтрації зображень
Автор: Blacksmith • Май 17, 2018 • Контрольная работа • 855 Слов (4 Страниц) • 528 Просмотры
НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
Навчально-науковий інститут інформаційно-діагностичних систем
Кафедра біокібернетики та аерокосмічної медицини
Домашнє завдання
з дисципліни
«Основи оброблення біомедичних сигналів і зображень»
Напрям підготовки: 6.050902 «Радіоелектронні апарати»
Тема: Методи фільтрації зображень
Виконав: Ковальчук В.І.
група БМ - 461
Залікова книжка №10409910
Керівник: Буриченко М.Ю.
Домашнє завдання захищено з оцінкою ________________
Голова комісії ______________________________________
Члени комісії _______________________________________
Київ 2018
НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ
Навчально-науковий Інститут інформаційно-діагностичних систем
Напрям 6.050902 «Радіоелектронні апарати»
ЗАВДАННЯ на виконання домашньої роботи
№ варіанту | n | m | x | y |
4 | 8 | 9 | 40 | 40 |
Тестове зображення (2)
[pic 1]
№ варіанту | Значення параметрів функції fspecial | Параметри ФНЧ | ||||
type | P1 | P2 | Тип | D0 | n | |
4 | ‘log’ | 11 | 0.7 | blpf | 10 | 6 |
‘unsharp’ | 0.5 | – | blpf | 10 | 16 | |
‘average’ | 11 | – |
РОЗДІЛ 1.
Програмний код та результати його виконання
Необхідні функції, що будуть викликатись впродовж роботи:
first_task:
function [] = first_task(M,N,m,n,x,y)
f = zeros(M,N); % створює чорний прямокутник розміром MxN
f(x:(x+m), y:(y+n)) = 1; % замінює чорні пікселі білими на відповідних місцях
%% 1.2 Знайти спектр Фур’є зображення, обчислити динамічний діапазон значень спектра
F = fft2(f); % дискретне перетворення Фур'є
S = abs(F); % спектр зображення
S1 = log(1+S); % спектр зображення з логарифмічним перетворенням яскравості
%% 1.3 Побудувати в одному графічному вікні такі зображення:
% а) синтезоване тестове зображення (1);
% б) його спектр Фур’є з логарифмічним перетворенням яскравості.
figure(m)
subplot(3,1,1), imshow(f), title(['a) Синтезоване тестове зображення розміром ',num2str(m),' x ',num2str(n),' та координатами ( ',num2str(x),' ; ',num2str(y),' )'])
subplot(3,1,2), imshow(S), title(['б) Спектр Фур"є тестового зображення розміром ',num2str(m),' x ',num2str(n),' та координатами ( ',num2str(x),' ; ',num2str(y),' )'])
subplot(3,1,3), imshow(S1), title(['в) Cпектр Фур"є тестового зображення розміром ',num2str(m),' x ',num2str(n),' та координатами ( ',num2str(x),' ; ',num2str(y),' )з логарифмічним перетворенням яскравості'])
end
blpf:
function g = blpf(f,n,D0)
% ФНЧ Баттерворта
% f - вхідне зображення
% n - порядок фільтра
% D0 - частота зрізу
% g - вихідне зображення
%
[M,N] = size(f);
F = fft2(double(f));
u = 0:(M-1); v = 0:(N-1);
idx = find(u>M/2); u(idx) = u(idx)-M;
idy = find(v>N/2); v(idy) = v(idy)-N;
[V,U] = meshgrid(v,u);
D = sqrt(U.^2 + V.^2);
H = 1./(1 + (D./D0).^(2*n)); % передатна функція ФНЧ
G = H.*F;
g = real(ifft2(double(G)));
Основний код, та результати його виконання поблоково:
- – 1.3 Синтезувати тестове зображення, вираховувати його спектр Фур’є, вивести результати у графічне вікно
M = 100;
N = 100;
m = 9;
n = 8;
...