• Что можно приготовить из кальмаров: быстро и вкусно

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

    Определение вероятностных характеристик изображений, прошедших нелинейную обработку, является прямой задачей анализа. При решении практических задач обработки изображений может быть поставлена обратная задача: по известному виду плотности вероятности p f (f ) и желаемому виду p g (g ) определить требуемое преобразование g = ϕ(f ), которому следует подвергнуть исходное изображение. В практике цифровой обработки изображений часто к полезному результату приводит преобразование изображения к равновероятному распределению. В этом случае

    где g min и g max – минимальное и максимальное значения яркости преобразованного изображения. Определим характеристику преобразователя, решающего данную задачу. Пусть f и g связаны функцией g (n , m ) = j(f (n , m )), а P f (f ) и Pg (g ) – интегральные законы распределения входной и выходной яркостей. Учитывая (6.1), находим:

    Подставляя это выражение в условие вероятностной эквивалентности

    после простых преобразований получаем соотношение

    представляющее собой характеристику g (n , m ) = j(f (n , m )) в решаемой задаче. Согласно (6.2) исходное изображение проходит нелинейное преобразование, характеристика которого P f (f ) определяется интегральным законом распределения исходного изображения. После этого результат приводится к заданному динамическому диапазону при помощи операции линейного контрастирования.

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



    На первом этапе измеряется гистограмма исходного изображения. Для цифрового изображения, шкала яркостей которого, например, принадлежит целочисленному диапазону , гистограмма представляет собой таблицу из 256 чисел. Каждое из них показывает количество точек в изображении (кадре), имеющих данную яркость. Разделив все числа этой таблицы на общий размер выборки, равный числу отсчетов в изображении, получают оценку распределения вероятностей яркости изображения. Обозначим эту оценку qp f (f q ), 0 ≤ f q ≤ 255. Тогда оценка интегрального распределения получается по формуле:

    На втором этапе выполняется само нелинейное преобразование (6.2), обеспечивающее необходимые свойства выходного изображения. При этом вместо неизвестного истинного интегрального распределения используется его оценка, основанная на гистограмме. С учетом этого все методы поэлементного преобразования изображений, целью которых является видоизменение законов распределения, получили название гистограммных методов. В частности, преобразование, при котором выходное изображение имеет равномерное распределение, называется эквализацией (выравниванием) гистограммы.

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

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

    Рисунок 6.1 – Пример эквализации гистграммы изображения: а) исходное изображение и его гистограмма в); б) преобразованное изображение и его гистограмма г)

    Эквализация гистограммы приводит к выравниванию интегральных площадей равномерно распределенных диапазонов яркостей. Сравнение исходного (рисунок 6.1 а) и обработанного (рисунок 6.1 б) изображений показывает, что перераспределение яркостей, происходящее при обработке, приводит к улучшению визуального восприятия.

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

    Среди дефектов цифрового изображения можно выделить следующие виды:

    • Цифровой шум
    • Цветовые дефекты (недостаточные или избыточные яркость и контраст, неправильный цветовой тон)
    • Размытость (расфокусировка)

    Методы предварительной обработки изображений зависят от задач исследований и могут включать следующие виды работ:

    Фильтрация зашумленных изображений

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

    Линейное усреднение точек по соседям - самый простой вид алгоритмов удаления шума. Основная идея их в том чтобы брать среднее арифметическое значение точек в некоторой окрестности в качестве нового значения точки.

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

    Пример:

    div – это коэффициент нормирования, для того чтобы средняя интенсивность оставалась не изменой. Он равен сумме коэффициентов матрицы, в примере div = 6.

    Размытие по Гауссу (разновидность линейного свертывания) реализуется с помощью обхода пикселей изображения матрицей свертки, имеющей такой вид:

    Матрица 5×5 заполняется по нормальному (гауссовому закону). Ниже приведена та же матрица, где коэффициенты уже являются нормированными, так что div для этой матрицы равен одному.

    От размера матрицы зависит сила размытия.

    У верхнего левого пикселя не существует «соседей» слева и сверху, следовательно, нам не на что умножать коэффициенты матрицы!

    Для решения этой проблемы требуется создание промежуточного изображения. Идея в том, чтобы создавать временное изображение с размерами

    width + 2 gap / 2, height + 2 gap / 2, где

    width и height – ширина и высота фильтруемого изображения,

    gap – размерность матрицы свертки.

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

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

    Пиксели, которые «попадают» в окно, сортируются в порядке возрастания и выбирается то значение, которое находится посредине отсортированного списка.

    Медианный фильтр обычно используется для уменьшения шума или «сглаживания» изображения.

    Для улучшения четкости изображения используется следующий фильтр (div=1):

    Морфологические преобразования

    Морфологическая фильтрация используется для расширения (дилактации) или сужения (эрозии) элементов бинарного изображения.

    Дилатация (морфологическое расширение) – свертка изображения или выделенной области изображения некоторым шаблоном. Шаблон может иметь произвольную форму и размер. При этом в нем выделяется единственная ведущая позиция (anchor), которая совмещается с текущим пикселем при вычислении свертки.

    Бинарное изображение – упорядоченный набор (упорядоченного множества) черно-белых точек (пикселей). Максимум интенсивности пикселей изображения равен единице, а минимум – нулю.

    Применение дилатации сводится к проходу шаблоном по всему изображению и применению оператора поиска локального максимума интенсивности пикселей изображения, которые накрываются шаблоном. Если максимум равен 1, то точка, в которой находится анкор шаблона будет белая. Такая операция вызывает рост светлых областей на изображении На рисунке серым цветом отмечены пиксели, которые в результате применения дилатации будут белыми.

    Эрозия (морфологическое сужение) – операция, обратная дилатации. Действие эрозии подобно дилатации, разница лишь в том, что используется оператор поиска локального минимума. Если минимум равен 0, то точка, в которой находится анкор шаблона, будет черная. На рисунке справа серым цветом отмечены пиксели, которые станут черными в результате эрозии.

    Операция «Дилатация » – аналог логического «или», операция «Эрозия » – аналог логического «и».

    Результат морфологических операций во многом определяется применяемым шаблоном (структурным элементом). Выбирая различный структурный элемент можно решать разные задачи обработки изображений:

    • Шумоподавление.
    • Выделение границ объекта.
    • Выделение скелета объекта.

    Коррекция яркости и контраста изображений

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

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

    Выполните обработку изображений, визуализацию и анализ

    Image Processing Toolbox™ обеспечивает исчерпывающий набор ссылочно-стандартных алгоритмов и приложений рабочего процесса для обработки изображений, анализа, визуализации и разработки алгоритмов. Можно выполнить сегментацию изображений, повышение качества изображения, шумоподавление, геометрические преобразования, и отобразить регистрацию с помощью глубокого обучения и традиционных методов обработки изображений. Обработка поддержек тулбокса 2D, 3D, и произвольно больших изображений.

    Приложения Image Processing Toolbox позволяют вам автоматизировать общие рабочие процессы обработки изображений. Можно в интерактивном режиме сегментировать данные изображения, сравнить регистрационные методы изображений и пакетно обработать большие наборы данных. Функции визуализации и приложения позволяют вам исследовать изображения, 3D объемы и видео; настройте контраст; создайте гистограммы; и управляйте видимыми областями (КОРОЛИ).

    Можно ускорить алгоритмы путем выполнения их на многоядерных процессорах и графических процессорах. Много функций тулбокса поддерживают генерацию кода C/C++ для развертывания системы компьютерного зрения и анализа прототипа.

    Начало работы

    Изучите основы Image Processing Toolbox

    Импортируйте, экспортируйте, и преобразование

    Импорт данных изображения и экспорт, преобразование типов изображения и классов

    Отображение и исследование

    Интерактивные инструменты для отображения изображений и исследования

    Геометрическое преобразование и регистрация изображений

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

    Отобразите фильтрацию и улучшение

    Контрастная корректировка, морфологическая фильтрация, deblurring, основанная на ROI обработка

    Отобразите сегментацию и анализ

    Анализ области, анализ структуры, пиксель и статистика изображений

    Глубокое обучение для обработки изображений

    Выполните задачи обработки изображений, такие как удаление шума изображения и создание изображений с высоким разрешением от изображений низких разрешений, с помощью сверточных нейронных сетей (требует Deep Learning Toolbox™),

    Существует три основных метода повышения контраста изображения:

    • линейная растяжка гистограммы (линейное контрастирование),
    • нормализация гистограммы,
    • выравнивание (линеаризация или эквализация, equalization) гистограммы.

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

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

    Выравнивание гистограмм – это один из наиболее распространенных способов. Цель выравнивания состоит в том, чтобы все уровни яркости имели бы одинаковую частоту, а гистограмма соответствовала равномерному закону распределения. Допустим, что задано изображение в оттенках серого, которое имеет разрешение пикселей. Количество уровней квантования яркости пикселей (число бинов) составляет . Тогда в среднем на каждый уровень яркости должно выпадать пикселей. Базовая математика лежит в сопоставлении двух распределений. Пусть – случайные величины, описывающие изменение интенсивности пикселей на изображениях, – плотность распределения интенсивности на исходном изображении, – желаемая плотность распределения. Необходимо найти преобразование плотностей распределения , которое позволило бы получить желаемую плотность:

    Обозначим через и интегральные законы распределения случайных величин и . Из условия вероятностной эквивалентности следует, что . Распишем интегральный закон распределения по определению:

    Отсюда получаем, что

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

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

    В библиотеке OpenCV реализована функция equalizeHist , которая обеспечивает повышение контрастности изображения посредством выравнивания гистограммы [ , ]. Прототип функции показан ниже.

    void equalizeHist(const Mat& src, Mat& dst)

    Функция работает в четыре этапа:

    Далее приведем пример программы, обеспечивающей выравнивание гистограммы. Приложение принимает в качестве аргумента командной строки название исходного изображения. После выполнения операции выравнивания гистограммы выполняется отображение исходного изображения 1 Использовано изображение, входящее в состав базы PASACL VOC 2007. , переведенного в оттенки серого (рис. 7.11 , слева), и изображения с выровненной гистограммой (рис. 7.11 , справа).

    #include #include using namespace cv; const char helper = "Sample_equalizeHist.exe \n\ \t - image file name\n"; int main(int argc, char* argv) { const char *initialWinName = "Initial Image", *equalizedWinName = "Equalized Image"; Mat img, grayImg, equalizedImg; if (argc < 2) { printf("%s", helper); return 1; } // загрузка изображения img = imread(argv, 1); // преобразование в оттенки серого cvtColor(img, grayImg, CV_RGB2GRAY); // выравнивание гистограммы equalizeHist(grayImg, equalizedImg); // отображение исходного изображения и гистограмм namedWindow(initialWinName, CV_WINDOW_AUTOSIZE); namedWindow(equalizedWinName, CV_WINDOW_AUTOSIZE); imshow(initialWinName, grayImg); imshow(equalizedWinName, equalizedImg); waitKey(); // закрытие окон destroyAllWindows(); // осовобождение памяти img.release(); grayImg.release(); equalizedImg.release(); return 0; }


    Рис. 7.11.