Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Автоматиизированный анализ изображений с приемением LABVIEW

.pdf
Скачиваний:
22
Добавлен:
04.09.2023
Размер:
1.01 Mб
Скачать

МИНОБРНАУКИ РОССИИ

____________________________

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина)

__________________________________

АВТОМАТИЗИРОВАННЫЙ АНАЛИЗ ИЗОБРАЖЕНИЙ С ПРИМЕНЕНИЕМ LABVIEW

Методическое пособие к лабораторным и практическим занятиям

Санкт-Петербург СПбГЭТУ «ЛЭТИ»

2017

Автор: А. Ю. Виллевальде

Автоматизированный анализ изображений с применением LabVIEW: методическое пособие к лабораторным и практическим занятиям. СПбГЭТУ

«ЛЭТИ», 2017. 39 с.

Содержит методические указания к проведению практических занятий и лабораторных работ по анализу и обработке цифровых растровых медицинских изображений с применением LabVIEW.

Предназначено для студентов, обучающихся по направлению подготовки 12.03.04, 12.04.04 «Биотехнические системы и технологии» по дисциплинам «Автоматизированный анализ изображений» и «Автоматизация анализа изображений».

Одобрено Методической комиссией факультета информационно-измерительных и

биотехнических систем в качестве методического пособия

© СПбГЭТУ «ЛЭТИ», 2017

2

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

LabVIEW и IMAQ Vision toolbox.

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

Студент должен создать каталог на жестком диске для хранения созданных файлов LabVIEW и загрузить туда необходимые медицинские изображения. Результаты выполнения заданий также должны сохраняться в этом каталоге.

После выполнения задания должен быть создан отчет, содержащий следующую информацию:

1.Название задания, цель, краткая теория.

2.Представление LabVIEW VI: передняя панель и блок-диаграмма.

3.Результаты, анализ, выводы.

3

1. ПРОСТРАНСТВЕННАЯ ФИЛЬТРАЦИЯ ИЗОБРАЖЕНИЙ

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

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

Все пространственные фильтры можно разделить на 2 класса: высокочастотные, которые подчеркивают различные изменения яркости на границах объектов, и низкочастотные, которые уменьшают изменения яркости, присутствующие на изображении, «размазывают» изображение, стирая детали и размывая края.

 

Маска

Маска

Изображение

 

Изображение

Маска

Фильтрующая

функция

Соседи Центральный пиксель

Рис. 1. Пространственная фильтрация

Пространственная фильтрация реализуется следующим образом. В случае матрицы 3 × 3, как показано на рис. 4.10, значение центрального пикселя (выделен заливкой черного цвета) определяется из значений яркости его восьми соседей (заштрихованных).

Если Bi, j представляет

яркость пикселя с координатами (xi , y j ) ,

пиксели, окружающие Bi, j ,

могут быть обозначены следующим образом

(матрица 3 × 3):

 

4

или 1.
яркости0 , оно

Bi 1, j 1

Bi, j 1

Bi 1, j 1

Bi 1, j

Bi, j

Bi 1, j

Bi 1, j 1

Bi, j 1

Bi 1, j 1

Тогда пространственный линейный фильтр реализуется как линейная комбинация яркостей окружающих Bi, j элементов, например:

Bi, j Bi, j 1 Bi 1, j 2Bi, j Bi 1, j Bi, j 1.

Нелинейный фильтр – нелинейная комбинация яркостей окружающих Bi, j элементов, например:

Bi, j max{Bi 1, j 1, Bi 1, j 1, Bi 1, j 1, Bi 1, j 1}.

Свертка – это функция, согласно которой яркость данного пикселя заменяется взвешенной суммой яркостей его соседей.

Ядро свертки – матрица, определяющая размер окрестности пикселя, участвующей в свертке, и задающая веса каждого из его соседей.

Имеются элементы изображения B и ядро свертки K:

Bi 1, j 1

Bi, j 1

Bi 1, j 1

Bi 1, j

Bi, j

Bi 1, j

Bi 1, j 1

Bi, j 1

Bi 1, j 1

Тогда:

Ki 1, j 1

Ki, j 1

Ki 1, j 1

Ki 1, j

Ki, j

Ki 1, j

Ki 1, j 1

Ki, j 1

Ki 1, j 1

 

 

n i 1,

 

1

m j 1

Bi, j

Kn,mBn,m ,

 

 

N n i 1,

m j 1

где N – нормировочный коэффициент, равный наибольшему из Kn,m

В случае полутонового изображения, имеющего 256 градаций (от 0 до 255, яркостное разрешение 8 бит), если новое значение Bi, j

заменяется на 0; если новое значение Bi, j 255 , оно заменяется на 255.

Чем больше по модулю значение коэффициента Kn,m , тем больший вклад даст пиксель Bn,m в новое значение Bi, j . Если Kn,m = 0, сосед Bn,m

не вносит вклад в новое значение Bi, j , при этом в качестве Bn,m может быть и сам Bi, j .

5

Классификация пространственных фильтров

Тип фильтра

Фильтры

 

 

 

Линейный

 

 

Высокочастотный

Градиентный, лапласиан

 

 

Низкочастотный

Сглаживающий, гауссиан

 

 

 

Нелинейный

 

 

Высокочастотный

Градиентный, Робертса, Собела, Превитта,

 

дифференцирующий, сигма

 

 

Низкочастотный

Медианный, N-го порядка, низкочастотный

 

 

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

LabVIEW содержит набор ядер фильтров, см. IMAQ Vision Help: выберите Help» IMAQ Vision, напечатайте “kernels” в поле поиска. Четыре семейства фильтров, из которых можно выбрать: Smoothing, Gaussian, Gradient, Laplacian.

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

Gradient. Градиентный фильтр выделяет значительные перепады яркости в заданном направлении. Например, вертикальный градиентный фильтр выделит перепады яркости от темного к светлому слева направо. Если центральный коэффициент ядра равен 1, выделенные края будут добавлены к самому изображению.

Laplacian. Лапласианы действуют во всех направлениях, выделяя края на изображении. Это производная второго порядка. Если сумма коэффициентов равна нулю, фильтр выделяет края. Если центральный коэффициент больше, чем сумма модулей всех остальных коэффициентов ядра, выделенные края накладываются на исходное изображение.

6

Задание 1: Создать VI, выполняющий пространственную фильтрацию выбранного медицинского изображения, позволяет менять фильтр и задавать пользовательское ядро фильтра.

Требуется создать LabVIEW VI, позволяющий тестировать действие программно заданных ядер фильтров IMAQ Vision, а также ядер, заданных пользователем. Ядра фильтров должны отображаться в программе, пользователь должен задавать значения ядра с клавиатуры.

Последовательность выполнения задания

Построение Front Panel. Следующие элементы должны быть добавлены на Front Panel:

Индикатор для визуализации заданного ядра фильтра RealMatrix.ctl

(2-D array of double precision).

Modern» Array, Matrix and Cluster

Четыре Numeric Controls (integers) для задания размера ядра, семейства и номера в семействе.

Modern» Numeric

Управляющий элемент (control) для задания ядра фильтра, определяемого пользователем RealMatrix.ctl (2-D array of double precision and 3 × 3 size).

Modern» Array, Matrix and Cluster

Управляющий элемент (control) Menu Ring для переключения между запрограммированным и определяемым пользователем ядрами фильтра.

Modern» Ring and Enum

Пример передней панели Front Panel представлен на Рис. 2.

7

Рис. 2. Задание 1. Пример передней панели

Построение Block Diagram. Следующие функции и структуры должны быть добавлены на Block Diagram:

IMAQ Create. Выделяет память под изображение.

Vision and Motion»

Vision Utilities» Image

Management

IMAQ Load Image Dialog. Вызывает диалоговое окно, в котором можно указать путь к файлу изображения и предварительный просмотр выбранного изображения.

Vision and Motion»

Vision Utilities» Files

IMAQ ReadFile. Считывает файл изображения.

Vision and Motion»

Vision Utilities» Files

8

IMAQ WindDraw. Отображает изображение в отдельном окне. Окно автоматически появляется при выполнении VI.

Vision and Motion» Vision Utilities»

External Display

IMAQ Copy. Копирует изображение. Функция используется для сохранения дополнительной копии исходного изображения перед обработкой.

Vision and Motion» Vision Utilities» Image

Management

IMAQ Convolute. Фильтрует изображение с помощью линейного фильтра. Вычисления производятся с integer или floating point типами данных, в зависимости от типа изображения и вида ядра фильтра.

Vision and Motion»

Image Processing»

Filters

IMAQ GetKernel. Считывает ядро фильтра.

Vision and Motion»

Image Processing»

Filters

9

Case Structure. Содержит два или более сценария, один из которых выполняется в случае, если выполняется заданное условие. Значение, связанное с терминалом выбора, определяет, какой сценарий будет исполняться и может быть типов Boolean, string, integer или enumerated.

Кликните правой кнопкой мыши на границе структуры для задания или удаления условий.

Programming» Structures

Add Array Elements. Возвращает сумму элементов массива.

Programming»

Numeric

Выполните следующие шаги:

1.Загрузка изображения. Считайте файл изображения с помощью

IMAQ ReadFile. Путь к файлу задается через IMAQ Load Image Dialog,

отображающую соответствующее диалоговое окно. Чтобы загрузить изображение необходимо выделить для него память с помощью IMAQ Create. Изображение будет отображаться на экране, если задать окно с помощью IMAQ WindDraw.

2.Пространственная фильтрация изображения. Функция, которая производит пространственную фильтрацию изображения – IMAQ Convolute. Запрограммированные ядра фильтров генерируются с помощью IMAQ GetKernel; конфигурация ядра отображается в индикаторе RealMatrix.cpl на Front panel; размер ядра, семейство и номер матрицы устанавливаются с помощью соответствующих Numeric Controls. Определяемое пользователем ядро формируется на Front panel с помощью управляющего элемента RealMatrix.ctl размера 3 × 3. Для задания делителя (нормирующего коэффициента) для свертки с помощью пользовательского ядра необходимо рассчитать сумму всех элементов ядра функцией Add Array Elements. Для отображения исходного и обработанного изображений в разных окнах функция IMAQ Convolute применяется к копии исходного изображения.

10

Соседние файлы в предмете Цифровая обработка изображений