Реализация частотной фильтрации рентгеновских изображений в MATLAB | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Библиографическое описание:

Куликов, А. Ю. Реализация частотной фильтрации рентгеновских изображений в MATLAB / А. Ю. Куликов, В. М. Строев, Ю. Н. Долгова, К. А. Есаулова. — Текст : непосредственный // Молодой ученый. — 2017. — № 15 (149). — С. 59-61. — URL: https://moluch.ru/archive/149/42012/ (дата обращения: 25.04.2024).



Улучшение качества рентгеновских цифровых изображений можно производить как с помощью линейных преобразований [1], так и с помощью фильтрации в частотной области после выполнения преобразования Фурье. Находясь в основе методов линейной фильтрации, преобразование Фурье обеспечивает значительную гибкость при разработке и реализации алгоритмов фильтрации при решении задач улучшения, восстановления и сжатия изображений.

Основные шаги фильтрации в частотной области. Через f обозначим исходное изображение, а через g — результат фильтрации. Предполагается, что передаточная функция H(u,v) имеет те же размеры, что и исходное изображение.

  1. Получить параметры расширения с помощью paddedsize: PQ = paddedsize (size(f));
  2. Построить преобразование Фурье с расширением: F = fft2(f, PQ(1), PQ(2));
  3. Сгенерировать функцию фильтра Н размера PQ(l)xPQ(2) одним из описываемых далее методов. Если он был центрирован, до использования его в фильтрации следует выполнить команду Н = fftshift(H).
  4. Умножить преобразование Фурье на передаточную функцию фильтра: G = H*F;
  5. Найти вещественную часть обратного преобразования Фурье от G: g = real(ifft2(G));
  6. Вырезать верхний левый прямоугольник исходных размеров:

g = g(l:size(f,1), l:size(f,2));

Эта процедура фильтрации схематически изображена на рис. 1. Предварительная стадия обработки может состоять из определения размеров изображения, вычисления параметров расширения и генерации фильтра. Заключительная стадия обработки состоит в выделении вещественной части результата, обрезания изображения до исходного размера и его конвертации в класс uint8 или uintl6 для сохранения на диске.

Передаточная функция фильтра Н(u, v) на рис. 1 умножается на вещественную и мнимую части F(u, v). Если функция Н(u, v) была вещественной, то фазовая часть произведения не меняется, что видно из фазового уравнения, так как при умножении вещественной и мнимой части комплексного числа на одно и то же вещественное число фазовый угол не меняется. Такие фильтры принято называть фильтрами с нулевым сдвигом фазы.

Рис. 1. Основные шаги фильтрации в частотной области

Последовательность описанных выше шагов фильтрации используется в этой главе и в части следующей, поэтому удобно иметь М-функцию, аргументами которой являются изображение и передаточная функция фильтра, которая выполняет все необходимые процедуры фильтрации и возвращает отфильтрованное и обрезанное изображение. Следующая функция как раз совершает все эти действия.

function g = dftfilt(f, H)

G = DFTFILT(F,H)

F = fft2(f, size(H, 1), size(H, 2))

g = real(ifft2(H.*F));

Crop to original size.

g = g(1:size(f, 1), 1:size(f, 2));

g = mat2gray(g);

В следующих М-функциях важную роль играет процедура вычисления расстояния между любыми точками частотного прямоугольника. Поскольку в MATLAB при выполнении FFT предполагается, что начало отсчета находится в верхнем левом углу частотного прямоугольника, вычисления расстояния ведутся от этой точки. Для лучшей визуализации центр данных можно смещать функцией fftshift.

Следующая функция dftuv создает сеточный массив, который используется при вычислении расстояний и при других подобных действиях.

function [U,V]=dftuv(M,N)

[U,V] = DFTUV(M,N) 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;

Compute the meshgrid arrays.

[V, U] = meshgrid(v, u);

Следующая программа генерирует передаточные функции низкочастотных фильтров, которые выделяют основное содержание изображения — фон и крупноразмерные объекты.

function [H,D] = lpfilter(type,M,N,D0,n)

H = LPFILTER (TYPE,M,N,D0,n) [U, V] = dftuv(M, N);

Compute the distances D(U, V) .

D = sqrt(U.^2 + V.^2);

H = double(D <= D0); case 'btw'

if nargin == 4 n = 1;

end

H = l./(l + (D./D0).^(2*n));

case 'gaussian'

H = exp((D.^2)./(2*(D0^2)));

otherwise

error('Unknown filter type.')

end

Имея передаточную функцию низкочастотного фильтра, можно подучить передаточную функцию соответствующего высокочастотного фильтра с помощью формулы

.

Значит, функцию lpfilter, разработанную для низкочастотного фильтра, можно использовать для построения генератора высокочастотных фильтров:

function H = hpfilter(type, M, N, D0, n)

H = HPF ILTER (TYPE, M, N, DO, n)

if nargin == 4

n = 1; Default value of n.

end

Generate highpass filter.

Hlp = lpfilter(type, M, N, D0, n);

H = 1-Hlp.

Наилучший результат при обработке затемненных рентгеновских изображений даёт комбинация высокочастотной фильтрации с последующей гистограммной эквализацией. Команды MATLAB, реализующие эти действия при помощи разработанных выше фильтров:

PQ = paddedsize(size(f));

D0 = 0.05*PQ(1);

HBW = hpfilter('btw', PQ(1), PQ(2), D0, 2);

H = 0.5 + 2*HBW;

gbw = dftfilt(f, HBW);

gbw = gscale(gbw);

ghf = dftfilt(f, H);

gbf = gscale(ghf);

ghe = histeq(gbf, 256);

Результат фильтрации с усилением высоких частот приведён на рис. 2.

а) б)

Рис. 2. Рентгеновское изображение: а) — исходное, б) после фильтрации с усилением высоких частот

Основная сфера применения фильтрации с усилением высоких частот в задачах обработки биомедицинских изображений является повышение резкости рентгенографических изображений. Рентгеновские лучи не могут быть сфокусированы с помощью линз, как световые лучи, поэтому большинство рентгеновских снимков выглядят расплывчато. Зачастую яркость рентгенографических изображений сдвинута в темную область, поэтому также необходимо использовать методы обработки изображения для увеличения яркости контрастности изображения. Фильтрация с усилением высоких частот делает снимок более контрастным и повышает четкость.

Литература:

  1. Куликов А. Ю., Строев В. М., Есаулова К. А., Долгова Ю. Н. Обработка рентгеновских изображений с применением оценки качества и выбора оптимальных параметров коррекции // Молодой ученый. — 2017. — № 12. — С. 63–66.
  2. Методы компьютерной обработки биомедицинских изображений в среде MATLAB: учеб. пособие / А. А. Федотов, С. А. Акулов, А. С. Акулова. — Самара: Изд-во СГАУ, 2015. — 88 с.
Основные термины (генерируются автоматически): частотная область, DFTFILT, DFTUV, FFT, LPFILTER, MATLAB, TYPE, исходное изображение, мнимая часть, основной шаг фильтрации, передаточная функция фильтра, частотный прямоугольник.


Похожие статьи

Использование математических пакетов Matlab & Simulink при...

Основными целями фильтрации являются улучшение качества сигнала (например

Рассмотрим с помощью средств пакета Matlab & Simulink цифровой фильтр низкой частоты (ФНЧ), Одним из

- Частотные характеристики (Frequency specifications): где Frequency units...

Преобразование Фурье как основополагающий частотный метод...

Ключевые слова: частотная фильтрация, преобразование Фурье, улучшение изображений.

где (мнимая единица). Для данного образа можно легко получить исходную функцию, воспользовавшись формулой для обратного преобразования Фурье [2]

Особенности применения фильтров обработки изображений...

Фильтр Гаусса — фильтр размытия изображения, который использует

Это обходится либо применением фильтра только к части изображения, при этом границы остаются

Основные термины (генерируются автоматически): фильтр, весовая функция, верхний порог, фильтр...

Методы предварительной фильтрации изображения

Вместе с тем высокочастотная фильтрация гасит низкие частоты и отфильтрованное изображение теряет большую часть

Основные термины (генерируются автоматически): фильтр, исходное изображение, изображение, высокочастотная фильтрация, трудность...

Проектирование активных фильтров с использованием FilterLab 2.0

Основные термины (генерируются автоматически): AAW, диалоговое окно, фильтр, SPICE-модель фильтра, вкладка, затухающая способность

Проектирование, изображение и визуализация резьбовых поверхностей с использованием современных CAD-систем.

Исследование процесса цифровой обработки сигнала при работе...

Например, в пакете прикладных программ MATLAB имеется готовая функция FFT.

Основные термины (генерируются автоматически): Подпись оси, FFT, Подпись графика, график, Выбор области окна, MATLAB, спектр сигнала, амплитуда, белый шум, дискретное преобразование.

Разработка двумерных сглаживающих фильтров на основе...

Моделирование производилось в математическом пакете MATLAB2015 [7]. В качестве исходных данных были взято изображение (Рисунок 2).

Рис. 3. График двумерной функции фильтра Гаусса.

Основные термины (генерируются автоматически): PSNR, шум, фильтр...

Модуль подавления шумов для систем звукозаписи

Эти частотные составляющие показывают очень острые пики в частотной области (рис.14) [8].

Основные термины (генерируются автоматически): полезный сигнал, MATLAB, сигнал, шум, система звукозаписи, рисунок, шумовой сигнал, фильтр, фильтрация, аудиозапись.

Алгоритмы преобразования Фурье и их применение при анализе...

При анализе звуковой информации одним из наиболее важных параметров исходного

В связи с этим ограничением для передачи данных из массива в функцию используются указатели

Основное ограничение — количество дискретных отсчетов n должно быть степенью двойки.

Похожие статьи

Использование математических пакетов Matlab & Simulink при...

Основными целями фильтрации являются улучшение качества сигнала (например

Рассмотрим с помощью средств пакета Matlab & Simulink цифровой фильтр низкой частоты (ФНЧ), Одним из

- Частотные характеристики (Frequency specifications): где Frequency units...

Преобразование Фурье как основополагающий частотный метод...

Ключевые слова: частотная фильтрация, преобразование Фурье, улучшение изображений.

где (мнимая единица). Для данного образа можно легко получить исходную функцию, воспользовавшись формулой для обратного преобразования Фурье [2]

Особенности применения фильтров обработки изображений...

Фильтр Гаусса — фильтр размытия изображения, который использует

Это обходится либо применением фильтра только к части изображения, при этом границы остаются

Основные термины (генерируются автоматически): фильтр, весовая функция, верхний порог, фильтр...

Методы предварительной фильтрации изображения

Вместе с тем высокочастотная фильтрация гасит низкие частоты и отфильтрованное изображение теряет большую часть

Основные термины (генерируются автоматически): фильтр, исходное изображение, изображение, высокочастотная фильтрация, трудность...

Проектирование активных фильтров с использованием FilterLab 2.0

Основные термины (генерируются автоматически): AAW, диалоговое окно, фильтр, SPICE-модель фильтра, вкладка, затухающая способность

Проектирование, изображение и визуализация резьбовых поверхностей с использованием современных CAD-систем.

Исследование процесса цифровой обработки сигнала при работе...

Например, в пакете прикладных программ MATLAB имеется готовая функция FFT.

Основные термины (генерируются автоматически): Подпись оси, FFT, Подпись графика, график, Выбор области окна, MATLAB, спектр сигнала, амплитуда, белый шум, дискретное преобразование.

Разработка двумерных сглаживающих фильтров на основе...

Моделирование производилось в математическом пакете MATLAB2015 [7]. В качестве исходных данных были взято изображение (Рисунок 2).

Рис. 3. График двумерной функции фильтра Гаусса.

Основные термины (генерируются автоматически): PSNR, шум, фильтр...

Модуль подавления шумов для систем звукозаписи

Эти частотные составляющие показывают очень острые пики в частотной области (рис.14) [8].

Основные термины (генерируются автоматически): полезный сигнал, MATLAB, сигнал, шум, система звукозаписи, рисунок, шумовой сигнал, фильтр, фильтрация, аудиозапись.

Алгоритмы преобразования Фурье и их применение при анализе...

При анализе звуковой информации одним из наиболее важных параметров исходного

В связи с этим ограничением для передачи данных из массива в функцию используются указатели

Основное ограничение — количество дискретных отсчетов n должно быть степенью двойки.

Задать вопрос