
Уважаемые студенты!
Выполнение лабораторных работ по СТЗ сводится к написанию единой программы, позволяющей выполнять различные функции обработки заданного изображения. Программа выполняется на С++ в среде программирования Borland C++ Builder. При защите лабораторных работ будет необходимо ответить на контрольные вопросы по теории обработки изображения и листингу программы (для проверки вашего умения самостоятельно программировать;) ). Для проверки работы программы подберите себе цветное изображение какого-либо объекта (желательно, чтобы его форма была приближена к форме простейшей геометрической фигуры для облегчения задачи распознавания), например, египетской пирамиды.
Интерфейс программы должен иметь следующий вид
Необходимо отработать следующие моменты:
Определение порога при бинарном квантовании
ОСНОВНЫЕ СВЕДЕНИЯ.
Для уменьшения размерности массивов цифровых данных в системах технического зрения широко применяется бинарное квантование изображения по яркости, когда всем точкам изображения, принадлежащим объекту приписывается значение яркости, равное 1, а всем точкам фона- значение яркости, равное 0. Для этого яркость каждой точки исходного изображения сравнивается с некоторым пороговым уровнем яркости. Точки изображения, яркость которых выше пороговой, считаются принадлежащими объекту.
Для определения порога квантования применяются различные методы. Одним из самых распространенных является метод формирования адаптивного порога по гистограмме яркостей исходного изображения (рис. 1). Для этого весь диапазон яркостей разбивается на N поддиапазонов и подсчитывается количество попаданий точек изображения, имеющих соответствующие яркости n, в каждый поддиапазон n.
Затем определяются два поддиапазона n1 и n2, имеющих максимальные количества попаданий Max1 и Max2. Порог по яркости равен полусумме центров этих поддиапазонов (Gn1+Gn2)/2 – Рис. 1.
Процесс бинарного квантования заключается в следующем: всем точкам изображения, яркость которых выше порога присваивается значение «0», всем точкам изображения, яркость которых ниже порога, присваивается значение «1».
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Написать и отладить программу на языке С++, в которой по выбранному вами файлу изображения, определяется порог бинарного квантования и исходное цветное изображение конвертируется в полутоновое, а потом преобразуется в бинарное. Размерность исходного файла по умолчанию 352*288пикс.
В данной части программы должны быть последовательно отработаны следующие этапы:
Считывание данных из исходного файла.
Конвертация из цветного в полутоновое.
Построение гистограммы яркостей и определение порога.
Бинарное квантование полутонового изображения путем сравнения с порогом.
Запись в файл преобразованного изображения
Вывод на экран бинарного изображения. «0»- белый цвет, «1»-синий. Рабочий стол – белый.
Уменьшение уровня шума
ОСНОВНЫЕ СВЕДЕНИЯ.
Для борьбы с аддитивными шумами чаще всего используются некоторые из указанных ниже методов:
1. Метод накопления, который эффективен, если шумы от предъявления к предъявлению независимы, а объект классификации практически не меняет своего положения на рабочем столе в течение всего времени предварительной обработки.
При методе накопления выделение полезной информации осуществляется за счет векторного сложения значений яркостей пикселей, когда яркость пикселей, связанных с объектом, увеличивается в N раз, тогда как яркости пикселей фона увеличиваются только в число раз, равное корню квадратному из N, где N - число предъявлений.
Метод накопления позволяет при выделении предъявляемых объектов избежать явления размывания границ, имеющего место при использовании фильтрации с использованием пространственных окон. Однако он эффективен только в случае независимых аддитивных шумов
2. Метод логического усреднения, использующий пространственные окна размером 3*3, в которых центральному пикселю при бинарном квантовании приписывается значение 1 или 0 по одному из следующих правил:
Окно 1: Центральный пиксель равен 1, если все диаметрально расположенные пиксели равны 1, и 0, если все эти пиксели равны 0, в противном случае центральный пиксель сохраняет свое значение;
Окно 2: Центральный пиксель равен 1, если пиксели справа и слева равны 1, и 0, если эти пиксели равны 0, в противном случае он сохраняет свое значение;
Окно 3: Центральный пиксель равен 1, если пиксели или слева или справа равны 1, в противном случае он равен 0.
При полутоновом изображении яркость каждой точки умножается на функцию окна (1 или 0), полученную аналогично.
Недостатком этого метода является явление размывания границ, для борьбы с которым приходится принимать специальные меры.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Написать и отладить программу на языке С++ в среде программирования Borland C++ Builder, в которой изображение, подготовленное при выполнении 1 части работы, подвергается обработке с целью уменьшения уровня шумов, по методу, указанному преподавателем.
В данной части программы должны быть последовательно отработаны следующие этапы:
Считывание данных из исходного файла.
Формирование алгоритма уменьшения шумов.
Обработка изображения по сформированному алгоритму
Вывод на экран сглаженного изображения.
Запись в файл сглаженного изображения
Раcпечатка изображения после сглаживания.