Разработка модели и алгоритмов для процессов контурной сегментации изображений по инвариантным характеристикам тема диссертации и автореферата по ВАК РФ 05.13.06, кандидат наук Зо Вин Хтет

  • Зо Вин Хтет
  • кандидат науккандидат наук
  • 2019, ФГАОУ ВО  «Национальный исследовательский университет «Московский институт электронной техники»
  • Специальность ВАК РФ05.13.06
  • Количество страниц 154
Зо Вин Хтет. Разработка модели и алгоритмов для процессов контурной сегментации изображений по инвариантным характеристикам: дис. кандидат наук: 05.13.06 - Автоматизация и управление технологическими процессами и производствами (по отраслям). ФГАОУ ВО  «Национальный исследовательский университет «Московский институт электронной техники». 2019. 154 с.

Оглавление диссертации кандидат наук Зо Вин Хтет

ВВЕДЕНИЕ

ГЛАВА 1. АНАЛИЗ МЕТОДОВ КОНТУРНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ДЛЯ АВТОМАТИЗИРОВАННЫХ ПРОИЗВОДСТВЕННЫХ СИСТЕМ

1.1. Проблемы создания автоматизированных систем обработки изображений

1.2. Обзор методов фильтрации и сегментации бинарных изображений

1.3. Сравнительные характеристики методов распознавания

1.4. Методы формирования признаков изображений

1.5. Постановка задачи исследования

Выводы по первой главе

ГЛАВА 2. РАЗРАБОТКА И МОДИФИКАЦИЯ МЕТОДОВ ИНВАРИАНТНЫХ МОМЕНТОВ КОНТУРНОЙ СЕГМЕНТАЦИИ ИЗОБРАЖЕНИЙ

2.1. Распознавание изображений по их контурному описанию

2.2. Описание объектов изображений инвариантными

функциями моментов

2.2.1. Дескрипторы на основе инвариантных моментов

2.2.2. Моментные инварианты

2.3. Анализ вычислительных моментов второго порядка по цепному коду

2.4. Анализ моментов третьего порядка

2.5. Вычисление начальных и центральных моментов по цепному коду

Выводы по второй главе

ГЛАВА 3. ИССЛЕДОВАНИЕ И РАЗРАБОТКА АЛГОРИТМОВ ИСПОЛЬЗОВАНИЯ ИНВАРИАНТНЫХ ХАРАКТЕРИСТИК ИЗОБРАЖЕНИЙ

3.1. Агломеративные алгоритмы выделения инвариантных

характеристик изображений

3.2. Разработанный алгоритм обработки изображений с использованием

инвариантных характеристик

Выводы по третьей главе

ГЛАВА 4. ПРОВЕДЕНИЕ ЭКСПЕРИМЕНТАЛЬНЫХ ИССЛЕДОВАНИЙ ПО ОЦЕНКЕ ЭФФЕКТИВНОСТИ ИСПОЛЬЗОВАНИЯ ИНВАРИАНТНЫХ

ХАРАКТЕРИСТИК

4.1. Использование цепного кодирования для вычисления инвариантных характеристик изображений

4.2. Методика использования инвариантных характеристик при распознавании изображений

4.3. Результаты экспериментальных исследований разработанных алгоритмов

Выводы по четвертой главе

ЗАКЛЮЧЕНИЕ

ЛИТЕРАТУРА

Приложение 1. Государственная регистрация программного модуля

Приложение 2. Акт внедрения результатов диссертационной работы в учебный

процесс НИУ МИЭТ

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

Рекомендованный список диссертаций по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК

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

ВВЕДЕНИЕ

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

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

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

Современные системы технического зрения становятся более совершенными благодаря разработкам в микроэлектронике и в теории алгоритмов, а также в области на стыке этих научных дисциплин. Непосредственный вклад в развитие данной области внесли Валиев К.А., Глушков В.М., Стемпковский А.Л., Преснухин Л.Н., Красников Г.Я., Шахнов В.А., Корячко В.П., Бетелин В.Б., Бархоткин В.А, Петричкович Я.Я. и другие. Для систем видеонаблюдения особую роль играют алгоритмы выделения изображений подвижных объектов, созданные нашими соотечественниками Бабаяном П.В., Степашкиным А.И., Блохиным А.Н., Алпатовым Б.А.

Исследование методов обработки изображений изложены в работах отечественных и зарубежны ученых: В.А. Абрамова, П.А. Бакута, И.А. Богуславского,

М.Н. Вайнцвайга, В.Л. Генкина, Ю.И. Журавлева, Н.В. Кима, В.Я. Колючкина, В.И.

4

Мошкина, В.Ф. Нестерук, А.Н. Писаревского, Е.П. Путягина, В.А. Сойфера, С.В. Яблонского, Ю.Г. Якушенкова, Я.А. Фурмана, Л.П. Ярославского, К. Стоуфера, В. Гримсона, Д. Коминисью, Т. Канаде, Р. Колинза, Дж. Малика, AlanPugh,R.Jain, R.WFloyd, J.M.S. Prewitt, B.E. Bayer, L. Davis, L.G. Roberts, I.E.Sobel, J.F. Jarvis, B. Lippel, А. Rosenfeld, W.K. Pratt, M. Kurland, T.Pavlidis, RafaelC. Gonzalez, RichardE, E.R. Davies, LindaG. Shapiro.

В настоящее время известны следующие пакеты цифровой обработки изображений: Adobe PhotoShop (фирма Adobe), PaintShopPro, Picture Man (фирмаСтоик), Picture Publisher (фирма Astral Development), Corel Photo Paint (фирма Corel), Gray F/X (Xerox Imaging Systems), ImageEdit (IBM's Applications Software Division), ImageIn (Image-In Inc.), PC Paintbrush IV Plus (ZSoft), ZIP Image Processor (Catenary Systems), ScanDo (Hammerlabs).

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

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

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

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

Объектом исследования является программный модуль сегментации изображений по инвариантным характеристикам в АПС.

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

Достижение поставленной цели в работе осуществлено решением следующих

задач:

• аналитический обзор методов обработки изображений по разработкам отечественных и зарубежных ученых;

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

• разработка модели и алгоритмов автоматизации процессов сегментации и распознавания видеоизображений по инвариантным характеристикам;

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

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

Научная новизна работы заключается в следующем.

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

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

3. Разработаны алгоритмы использования инвариантных моментов контурной сегментации изображений, повышающие эффективность распознавания объектов при наличии до 10% неравномерного фона и аддитивных помех и обеспечивающие распознавание плоских объектов с ошибкой 10-2.

6

4. Предложен селективный подход и методика формирования признаков изображений, позволяющая уменьшить время идентификации 500 объектов изображений до 1040 мс при более 96 % достоверности распознавания.

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

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

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

3. Выделение контуров с использованием разработанного модифицируемого алгоритма на основе метода инвариантных моментов и цепного кодирования рассматривается как средство быстрого предварительного анализа изображений и отбора информативных характеристик при зашумленности исходного изображения до 10%.

4. Инвариантный подход к распознаванию объектов в АПС допускает точную математическую постановку задачи и позволяет сократить объем памяти об изображении с 657560 пикселей до 64 байтов.

5. Материалы диссертационной работы внедрены в учебный процесс института СПИНТех при проведении занятий по дисциплинам «Алгоритмы и структуры данных», «Имитационное моделирование». Акт внедрения прилагается.

6. Получено свидетельство об официальной регистрации программы для ЭВМ «Программный модуль сегментации изображений по инвариантным характеристикам» в РОСПАТЕНТ № 2019660359 от 05 августа 2019г.

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

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

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

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

Основные положения, выносимые на защиту.

1. Разработанная модель адаптивной системы контурной сегментации изображений в АПС.

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

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

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

Апробация результатов работы.

Основные положения диссертационной работы были апробированы на следующих конференциях:

— 22-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2015». Москва, МИЭТ.

— 8-я Всероссийская научно-практическая конференция «Актуальные проблемы информатизации в науке, образовании и экономике - 2015». Москва, МИЭТ.

— 23-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2016». Москва, МИЭТ.

— 24-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2017». Москва, МИЭТ.

— 10-я Всероссийская научно-практическая конференция «Актуальные проблемы информатизации в науке и образовании - 2017». Москва, МИЭТ.

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

Научная новизна полученных результатов работы подтверждена свидетельством об официальной регистрации программы для ЭВМ № 2019660359, зарегистрированной в РОСПАТЕНТ.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы и трех приложений. Работа содержит 134 страницу основного текста, включая 33 рисунков, 8 таблиц, а также список литературы из 112 наименований.

Краткое содержание работы.

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

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

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

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

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

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

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

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

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

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

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

В приложениях представлены материалы опытно-экспериментальной работы: акты внедрения диссертационной работы; свидетельство об официальной регистрации программы для ЭВМ в РОСПАТЕНТ.

ГЛАВА 1. АНАЛИЗ МЕТОДОВ КОНТУРНОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ ДЛЯ АВТОМАТИЗИРОВАННЫХ ПРОИЗВОДСТВЕННЫХ СИСТЕМ

1.1. Проблемы создания автоматизированных систем обработки изображений

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

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

Таблица 1.1. Характеристики сигналов в системах цифровой обработки

Назначение Характеристика Диапазон частот, размерность Требуемое быстродействие

Радиолокационные системы Фильтрация сигналов антенны 10 МГц - 10 ГГц, о 14 до 2 точек 10 умножении в секунду

Обработка звуковых сигналов Анализ и синтез речи, сжатие и распознавание 20 кГц (40 кГц), 16 бит 10 MIPS

Системы обработки изображений Восстановление и улучшение изображений 105-106 отсчетов 100-1000 MIPS

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

При обработке цифровых звуковых сигналов используются алгоритмы цифровой фильтрации и спектрального анализа: вычисление дискретного преобразования Фурье (ДПФ) и быстрого преобразования Фурье (БПФ), алгоритмы корреляционного анализа, обратной свертки, специальные алгоритмы линейного предсказания. Классификация и распознавание осуществляется на основе различных характеристик (признаков) объектов. Характерным для систем обработки изображений является требуемая производительность и массивы данных (рис.1.1).

Датчики видеоаппаратура

Оценивание параметров геометрических преобразований

Алгоритмы обнаружения и измерения координат объектов

Информационно-измерительная система идентификации ситуации

Видео

«

о н к

а

и й а •е

К

<и Ч <и Ч

и

«

К

<и §

а

ю о

Анализ фоноцелевой обстановки

Алгоритмы моментных инвариантов

Алгоритмы на основе выделения динамических изменений Алгоритмы на основе пространственной фильтрации

Алгоритмы статистической сегментации

Алгоритмы на основе сопоставления с эталоном

Модуль взаимодействия с потребителем

к

а «

о

Сигналы с датчиков плаформы

Управление приводами

® й 2 « 5 8

я ¡г

8 И

00 й § 4

§ ю

В О

Сопровождение объектов (цифровой регулятор)

Рис. 1.1. Функциональная схема оптико-электронной распознавания объектов

Признаки, используемые при классификации и распознавании должны быть инвариантны к повороту, переносу и изменению масштаба объекта. Это требование связано с тем, что объект может зачастую оказаться в любом месте, причем его ориентация также заранее неизвестна, а изменение масштаба часто связано со сложностью точной настройки камеры СТЗ. Использование в системе распознавания признаков, не зависящих от изменения масштаба объектов, еще не получило должного решения [2].

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

нормализации и распознавания. Для решения возникающих при этом задач

14

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

Рис. 2. Структура функциональная схема системы обработки изображений в АПС

На рис.2 приняты следующие обозначения: УВИ - устройство ввода изображения; ПОИ - предварительная обработка изображений; АМИ -автоматическое моделирование изображения; ММ - выбор математической модели; БД - база данных.

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

1.2. Обзор методов фильтрации и сегментации бинарных изображений

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

Задача фильтрации. При осуществлении фильтрации яркостные

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

15

значением яркости, которое признается в наименьшей степени искаженным помехой. Выделяют частотную и пространственную фильтрацию [3,4]. Частотные методы преобразований изображений основываются на Фурье-преобразованиях, смысл которого заключается в представлении исходной функции в виде суммы тригонометрических функций различных частот, умноженных на заданные коэффициенты. В случае, если функция является периодической такое представление называется рядом Фурье. Иначе, непериодическая функция, имеющая конечную площадь под графиком, может быть выражена в виде интеграла от тригонометрических функций, умноженных на некоторую весовую функцию [5]. Такой вариант называется преобразованием Фурье и в большинстве практических задач оказывается более полезным, чем ряд Фурье. Важным свойством является то, что функцию, представленную Фурье-преобразованием, после осуществления над ней преобразований можно обратно вернуть к исходному виду. Таким образом, данный подход позволяет обрабатывать функцию в частотной области, после чего без потери информации вернуться к исходному виду. В практическом приложении реализация частотных подходов может быть аналогична пространственным методам фильтрации [6].

Пространственные методы улучшения изображений применятся к растровым изображениям, представленным в виде двумерных матриц. Принцип пространственных алгоритмов заключается в применении специальных операторов к каждой точке исходного изображения. В качестве операторов выступают прямоугольные или квадратные матрицы называемые масками, ядрами или окнами [1,7,8]. Чаще всего маска представляет собой двумерный массив, размером 2x2, 3x3, 5x5, 7x7, а методы улучшения, базирующиеся на таком подходе, часто называют обработкой по маске или фильтрацией по маске.

При осуществлении линейной фильтрации отклик маски задается суммой произведений пикселей в области покрытия фильтра. В качестве линейного сглаживающего фильтра используется усредняющий фильтр выходным значением, которого является среднее значение по окрестности маски фильтра. Подобный фильтр используется для задач удаления зернистости изображения вызванной импульсным шумом [9,7]. Общая формула отклика у(х, у) усредняющего фильтра, предназначенного для фильтрации изображения/с размерами МхЫ, имеет вид:

Похожие диссертационные работы по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК

Список литературы диссертационного исследования кандидат наук Зо Вин Хтет, 2019 год

ЛИТЕРАТУРА

1. Абламейко, С.В. Обработка изображений: технологии, методы, применение [Текст] / С.В. Абламейко, Д.М. Лагуновский. - Минск: Амалфея, 2000. - 304 с.

2. Алисов, Е.А. Стратегии проектирования образовательной среды [Текст] / Е.А. Алисов // Вестник государственного университета управления. - №1(22), 2008. - С.200-204.

3. Ахмед, Н. Ортогональные преобразования при обработке цифровых сигналов [Текст] / Н. Ахмед, К.Р. Рао / Пер. с англ. / Под. ред. И.Б. Фоменко. - М.: Связь, 1980. - 240 с.

4. Бабенко, В.В. Модель механизма зрительной сегментации [Текст] / В.В. Бабенко, С.Н. Кульба // Сенсорные системы. - Том 16. - № 3, 2002. - С.179-189.

5. Бакут, П.А. Сегментация изображений: методы выделения границ областей [Текст] / П.А. Бакут, Г.С. Колмогоров // - М.: Зарубежная радиоэлектроника. -№10, 1987. - С.25-47.

6. Бакут, П.А. Сегментация изображений: методы пороговой обработки [Текст] / П.А. Бакут, Г.С. Колмогоров, И.Э. Ворновицкий // - М.: Зарубежная радиэлектроника. - №10, 1987.- C.6-24.

7. Беликова, Т.П. Обработка изображений и синдромный анализ признаков для улучшения изображений [Текст] / Т.П. Беликова, И.И. Стенина, Н.И. Яшунская // Компьютерная оптика. - № 17, 1997. - С.103-111.

8. Белявцев, В.Г. Алгоритмы фильтрации изображений с адаптацией размеров апертуры [Текст] / В.Г. Белявцев, Ю.Е. Воскобойников // Автометрия. - №3, 1998. -С.18-25.

9. Бьемон, Ж. Итерационные методы улучшения изображений [Текст] / Ж. Бьемон, Р.Л. Лагендейк, P.M. Марсеро // ТИИЭР. - Т.78, № 5, 1990. - С.58-84.

10. Васильев, К.К. Статистические методы обработки многомерных изображений [Текст] / К.К. Васильев, А.А. Спектор // Методы обработки сигналов и полей: сборник научных трудов. - Ульяновск: УлПИ, 1992. - С.3-18.

11. Вежневец, А. Методы сегментации изображений: автоматическая сегментация. [Электронный ресурс] / А. Вежневец, О. Баринова // Компьютерная графика и мультимедиа: сетевой журнал. - №4, 2006. Режим доступа: http://cgm.computergraphics.ru/content/view/147.

12. Вежневец, А. Выделение связных областей в цветных и полутоновых изображениях [Электронный ресурс] /А. Веневежец, И.М. Журавель. - Режим доступа:

http://www.ict.edu.ru/1ib/index.php?a=e1ib&c=getForm&r=resDesc&d=1ight&id_res=23 97.

13. Волков, В.Ю. Пороговая обработка для сегментации и выделения протяженных объектов на цифровых изображениях [Текст] / В.Ю. Волков, Л.С. Турнецкий // Информационно-управляющие системы. - №5(42), 2009. - С. 10-13.

14. Воронин, А.А. Оптимальные иерархические структуры [Текст] / А.А. Воронин, С.П. Мишин. - М.: ИПУ РАН, 2003. - 214 с.

15. Воскресенский, Е.М. Параметрическая и структурная адаптация систем распознавания текстовых меток на видеоизображениях: автореф. дисс. к.т.н. [Текст] / Е.М. Воскресенский. - Рыбинск, 2010. - 16 с.

16. Голд, Б. Цифровая обработка сигналов [Текст] / Б. Голд, Ч. Рэйдер / Пер. с англ. Под ред. А.М. Трахтмана. - М.: Советское радио, 1973. - 368 с.

17. Гонсалес, Р. Цифровая обработка изображений [Текст] / Р. Гонсалес, Р. Вудс / Пер. с англ. Под ред. П.А. Чочиа. - М.: Техносфера, 2006. - 1072 с.

18. Гонсалес, Р. Цифровая обработка изображений [Текст] / Р. Гонсалес, Р. Вудс / Пер. с англ. П.А. Чочиа. - М.: Техносфера, 2005. - С.812-916.

19. Гонсалес, Р. Цифровая обработка изображений в среде МЛТЬЛБ [Текст] / Р. Гонсалес, Р. Вудс, С. Эддинс / Пер. с англ. Под ред. В.В. Чепыжова. - М.: Техносфера, 2006. - 616 с.

20. Грузман, И.С. Цифровая обработка изображений в информационных системах: учеб. пособ. [Текст] / И.С. Грузман, В.С. Киричук В.П. Косых, Г.И. Перетягин, А.А. Спектор. - Новосибирск, 2003. - 352 с.

21. Ежова, К.В. Моделирование и обработка изображений: учебное пособие [Текст] / К.В. Ежова. - СПб.: НИУ ИТМО, 2011. - 93 с.

22. Жирков, В.Ф. Исследование параметрической эффективности признаков при идентификации объекта по изображению [Текст] / В.Ф. Жирков, К.В. Новиков, Л.Т. Сушкова // Биомедицинская радиоэлектроника. - №6, 2008. - С.31-37.

23. Журавлев, Ю.И. Распознавание образов и распознавание изображений [Текст]/ Ю.И. Журавлев, И.Б. Гуревич // Распознавание, классификация, прогноз. Математические методы и их применение. - Вып.2. - М.: Наука. - 1989. - С.5-72.

24. Зо Вин Хтет, В.Д. Колдаев. Агломеративные алгоритмы выделения инвариантных характеристик изображений // Известия высших учебных заведений. Электроника «Московский институт электронной техники МИЭТ - 2016». - М.: МИЭТ, 2016. - С.566-571 (ВАК).

25. Зо Вин Хтет, Наинг Линн Аунг, Федоров П. А., Аунг Чжо Тун. Особенности контурной сегментации для последующего получения панорамных изображений // Журнал «Научное обозрение», №17. - М.: 2015. - С.160-164 (ВАК).

26. Zaw Win Htet, KyawZaw Ye, Koldaev V.D., Dorogov V.G., Naing Linn Aung. The Edges Detection In Images Using The Clustering Algorithm // Proceedings of the 2017 IEEE Russia Section Young Researchers in Electrical and Electronic Engineering Conference (2017 ElConRus) February 1-3, 2017, Art.no. 7910628, Part II. -St. Petersburg, Moscow, Electrotechnical University «LETI», National Research University of Electronic Technology «MIET», 2017. - P. 609-612 (Scopus).

27. Zaw Win Htet, Koldaev Victor D., Teplova Yana O., Kremer Eugene A., Fedorov Peter A. The Evaluation Of Computational Complexity Of Moment Invariants In Image Processing // IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus2018) Art.no. - M.: MIET, 2018. - P. 1844-1848 (Scopus).

28. Naing Linn Aung, Koldaev Victor D., KyawZaw Ye, Zaw Win Htet. The Study Of The Process Of Stitching Video Images In Real Time // IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus2018) Art.no. - M.: MIET, 2018. - P.1831-1834 (Scopus).

29. Zaw Win Htet, Koldaev Victor D. Computing Images Invariant Characteristics with Chain Coding // 2018 International Russian Automation Conference (RusAutoCon), Adler, Sochi, Russia September 9-16, 2018. - P. 157-160 (Scopus).

30. Zaw Win Htet, Koldaev Victor D. The Development Of The Information-Logical Model Of Image Recognition By The Invariant Characteristics // 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus2018) Art.no. - M.: MIET, 2019. - P. 2199-2203(Scopus).

31. Зо Вин Хтет, Колдаев В.Д. Свидетельство о государственной регистрации программы для ЭВМ № 2019660359 от 05.08.2019. Программный модуль сегментации изображений по инвариантным характеристикам (ПМСИИХ) / Федеральная служба по интеллектуальной собственности.

32. Шаньгин В.Ф., Ян Н.С., Зо Вин Хтет. Математическая модель коррекции неисправностей на основе кода Галуа // Современные проблемы науки и образования. - 2014. - № 6; URL: www.science-education.ru/120-17169/ 23.03.2015 (РИНЦ).

33. Зо Вин Хтет. Анализ формы и состояния пространственных объектов контурной сегментации изображения в среде Mathlab // 22-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2015». Тезисы докладов. - М.: МИЭТ, 2015. - С.172.

34. Зо Вин Хтет. Использование нейронных сетей для решения задач распознавания образов // 8-я Всероссийская научно-практическая конференция «Актуальные проблемы информатизации в науке, образовании и экономике -2015». Тезисы докладов. - М.: МИЭТ, 2015. - С.136.

35. Зо Вин Хтет. Разработка алгоритмов удаления шума в цветных изображениях // 23-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2016». Тезисы докладов. - М.: МИЭТ, 2016. - С.159.

36. Зо Вин Хтет. Разработка алгоритмов для вычисления сегментации изображений // 24-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов «Микроэлектроника и информатика - 2017». Тезисы докладов. - М.: МИЭТ, 2017. - С.152.

37. Зо Вин Хтет. Разработка логической модели анализа сегментации изображений // 10-я Всероссийская научно-практическая конференция «Актуальные проблемы информатизации в науке и образовании - 2017». Тезисы докладов. - М.: МИЭТ, 2017. - С.28.

38. Казанов, М.Д. Многомасштабный подход к определению контуров объектов на цифровых изображениях [Текст] / М.Д. Казанов // Организационное управление и искусственный интеллект. Труды института системного анализа РАН, 2003. - С.228-238.

39. Ким, В. Ранговые алгоритмы обработки изображений [Текст] / В.Ким, Л.П. Ярославский // Адаптивные методы обработки изображений. - М.: Наука, 1988. - С.35-73.

40. Колдаев, В.Д. Анализ контурной сегментации изображений в автоматизированных производственных системах [Текст] / В.Д. Колдаев // Оборонный комплекс - научно-техническому прогрессу России: Межотраслевой научно-технический журнал. - М.: ФГУП «ВИМИ». - Вып. 4, 2008. - С.54-59.

41. Колдаев, В.Д. Эвристические и квазитопологические алгоритмы контурной сегментации изображений [Текст] / В.Д. Колдаев // - М.: Научно-технический журнал «Известия высших учебных заведений. Электроника». - №6, 2008. - С.41-45.

42. Колдаев, В.Д. Автоматизированные производственные системы распознавания изображений [Текст] / В.Д. Колдаев // Materialy X mezinärodni vedecko-prakticka konference «Dny vedy - 2014» (27 brezen - 05 dubna 2014 roku). -Dil 34. Technicke vedy. - Praha. Publishing House «Education and Science» s.r.o, 2014. - С.59-62.

43. Колдаев, В.Д. Использование систем технического зрения для автоматизации управления технологическими процессами [Текст] / В.Д. Колдаев // // «Новейшие научные достижения». Материали за Х международна научна практична конференция «Найновите научни постижения - 2014» (17-25 март 2014 година). - Том 33. Технологии. София. «Бял ГРАД-БГ» ООД, 2014. - С.94-97.

44. Колдаев, В.Д. Методы формирования признаков изображений [Текст] / В.Д. Колдаев // «Научная мысль информационного века». Materialy X Mi^dzynarodowej naukowi-praktycznej konferencji «Naukowa mysl informacyjnej powieki - 2014» (07-15 marca 2014 roku). - Vol. 27. Matematyka, Fizyka. - Przemysl : Nauka i studia, 2014. - С.50-54.

45. Колдаев, В.Д. Сегментация изображений с использованием алгоритма иерархического тайлинга полигонов [Текст] / В.Д. Колдаев // Materialy X mezinarodni vedecko-prakticka konference «Dny vedy - 2014» (27 brezen - 05 dubna 2014 roku). - Dil 34. Technicke vedy. - Praha. Publishing House «Education and Science» s.r.o, 2014. - С.56-58.

46. Колдаев, В.Д. Системный подход к анализу контурной сегментации изображений [Текст] / В.Д. Колдаев // Оборонный комплекс - научно-техническому прогрессу России: Межотраслевой научно-технический журнал. -М.: ФГУП «ВИМИ». - Вып.4, 2007. - С.60-63.

47. Колдаев, В.Д. Теория и алгоритмы контурной сегментации изображений в системах технического зрения [Текст] / Л.Г. Гагарина, В.Д. Колдаев // - М.: Научно-технический журнал «Известия высших учебных заведений. Электроника». - №4(108), 2014. - С.64-72.

48. Колдаев, В.Д. Эвристические алгоритмы контурной сегментации изображений [Текст] / В.Д. Колдаев // - М.: Научно-технический журнал «Известия высших учебных заведений. Электроника». - №4, 2007. - С.71-75.

49. Конушин, В. Методы сегментации изображений: интерактивная сегментация. [Электронный ресурс] / В. Конушин, В. Вежневец // Компьютерная графика и мультимедиа: сетевой журнал. - №1, 2007. - Режим доступа: http://cgm. computergraphics.ru/content/view/172.

50. Корх, А.В. Сегментация изображений посредством разрезов на графах [Текст] / А.В. Корх, И.И. Курочкин // Труды I-й Всероссийской конференции молодых ученых «Теория и практика системного анализа». - Т.2.1, 2010. - С.172-179.

51. Лайонс, Р. Цифровая обработка сигналов [Текст] / Р. Лайонс / 2-е издание. - М.: ООО Бином-Пресс, 2006. - 656 с.

52. Левашкина, А.О. Сравнительный анализ супервизорных критериев оценки качества сегментации изображений [Текст] / А.О. Левашкина, С.В. Поршнев // - М.: Информационные технологии. - № 5, 2009. - С.52-57.

53. Марчуков, B.C. Автоматизированное выделение объектов заданного размера на аэрокосмических изображениях с использованием параллельной обработки [Текст] / В.С. Марчуков, И.В. Кочнова // Известия вузов. Геодезия и аэрофотосъемка. - №3, 2004. - С.151-157.

54. Махфуд, У.А. Комбинированные алгоритмы сегментации цветных изображений [Текст] / У.А. Махфуд: автореф. дисс. к.т.н. Институт технической кибернетики национальной академии наук Беларуси. - Минск, 2002. - 20 с.

55. Методы компьютерной обработки изображений / Гашников М.В. и др./ Под. ред. В.А. Сойфера. 2-е изд., испр. - М.: ФИЗМАТЛИТ, 2003. - 784 с.

56. Митропольский, Н.Н. Агломеративная сегментация и поиск однородных объектов на растровых изображениях [Текст] / Н.Н. Митропольский: автореф. дисс. к.т.н. - М.:, 2010. - 17 с.

57. Митропольский, Н.Н. Сегментация и идентификация контуров объектов на цифровых изображениях [Текст] / Н.Н. Митропольский, Е.Е Ковшов // Известия высших учебных заведений. Проблемы полиграфии и издательского дела. - №5, 2008. - С.19-28.

58. Нейрокомпьютеры в системах обработки изображений: Коллективная монография / Балухто А.Н., Булаев Е.В., Бурый Е.В. и др.; Ред. Гуляев Ю.В., Галушкин А.И. - М.: Радиотехника, 2003. - 191 с.

59. Новейшие методы обработки изображений [Текст] / Под ред. Потапова А.А. - М.: Физматлит, 2008. - 496 с.

60. Оппенгейм, А. Цифровая обработка сигналов [Текст] / А. Оппенгейм, Р. Шафер / Пер. с англ. Под ред. А.С. Ненашева. - М.: Техносфера, 2006. - 856 с.

61. Прэтт, У. Цифровая обработка изображений [Текст] / У. Прэтт / Пер. с англ. Под ред. Д.С. Лебедева / Кн. 1, Кн. 2, М.: Мир, 1982. - 312 с; 480 с.

62. Путятин, Е.П. Обработка изображений в робототехнике [Текст] / Е.П. Путятин, С.И. Аверин. - М.: Машиностроение, 1990. - 320 с.

63. Сато, Ю. Обработка сигналов. Первое знакомство [Текст] / Ю. Сато / 2-е издание. - М.: Додэка XXI, 2009. - 176 с.

64. Сергиенко, А.Б. Цифровая обработка сигналов [Текст] / А.Б. Сергиенко. - СПб.: Питер, 2007. - 752 с.

65. Универсальная классификация алгоритмов сегментации изображений. [Электронный ресурс] / С.В. Поршнев, А.О. Левашкина - Режим доступа: http://www.jurnal.org/articles/2008/inf23.html

66. Форсайт, Д. Компьютерное зрение. Современный подход [Текст] / Д. Форсайт, Ж. Понс. - М.: Вильямс, 2004. - 928 с.

67. Шапиро, Л. Компьютерное зрение [Текст] / Л. Шапиро, Дж. Стокман / Пер. с англ. - М.: БИНОМ. Лаборатория знаний, 2006. - 752 с.

68. Шлезингер, М.И. Математические средства обработки изображений [Текст] / М.И. Шлезингер. - Киев: Наукова думка, 1989. - 200 с.

69. Яне, Б. Цифровая обработка изображений [Текст] / Б. Яне / Пер. с англ. Под ред. A.M. Измайловой. - М.: Техносфера, 2007. - 584 с.

70. Ahmed M.S., Tahboub K.K. Recursive Wiener Filtering for Image Restoration // IEEE Trans. - Vol. assp - 34, Apr., 1986. - pp. 990-993.

71. Andrews H.C., Pattrson C.L. Singular Value Decomposition's and Digital Image Processing // IEEE Trans. Acoustics, Speech and Signal Processing. - 1976. -V.ASSP-24, N 1. - P. 26-53.

72. Andrews H.C., Tescher A.G., Kruger R.P. Image processing by digital computers. IEEE Spectrum. - 1972. - V. 9, N 7. - P. 20 -32.

73. Anoraganingrum D. Cell Segmentation with Adaptive Region Growing. / D. Anoraganingrum, S. Kroner, B. Gottfried // ICIAP Venedig, 1999. - pp. 27-29.

74. Arbelaez P. Contour Detection and Hierarchical Image Segmentation / P. Arbelaez, M. Maire, C. Fowlkes, J. Malik // IEEE Transactions on Pattern Analysis and Machine Intelligence. - Vol.33. - No.5, 2011. - pp. 898-916.

75. Baatz M. Multiresolution Segmentation: an optimization approach for high quality multi-scale image segmentation / M. Baatz, A. Schape. // Journal of Photogrammetry and Remote Sensing. - Vol.58. Iss.3-4, 2004. - pp. 239-258.

76. Barny M., Rossi S., Mecocci A. A fuzzy expert system for low level image segmentation. Proc. of the 8th european signal processing conference (EUSOPCO-96). -Vol.3, 1996. - pp.1725-1728.

77. Blaschke T. Object based image analysis for remote sensing / T. Blaschke // ISPRS Journal of Photogrammetry and Remote Sensing. - Vol.65. Iss.l, 2010. - pp. 2-16.

78. Burnett C. A multi-scale segmentation/object relationship modelling methodology for landscape analysis / C. Burnett, T. Blaschke // Ecological Modelling. -Vol.168. Iss.3, 2003. - pp. 233-249.

79. Canny J.F. A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986. - pp. 679-698.

80. Carron T., Lambert P. Fuzzy Color Edge Extraction by Inference Rulse Quantitative Study and Evaluation of Performances, International Conference in Image Processing. 1995. - pp. 181-184.

81. Cathey W.T., Dowski E.R. New paradigm for imaging systems. Appl. Opt. 41, 2002. - pp. 6080-6092.

82. Celenk M. A Color Clustering Technique for image segmentation, Graphical Models and Image Processing. - Vol.52. - No.3, 1990. - pp. 145-170.

83. Cheng H.D., Li J. Fuzzy Homogeneity and Scale Cpace Approach to Color Image Segmentation, International Conference on Computer Vision, Pattern Recognition and Image Processing, Atlantic City, Feb. 27 - Mar. 3, 2000.

84. Cheng H.D. Color image segmentation: advances and prospects / H. D. Cheng, X. H. Jiang, Y. Sun, J. Wang // Pattern Recognition. - Vol.34, Iss.12, 2001. - рр. 22592281.

85. Clinton N. An accuracy assessment measure for object based image segmentation / N. Clinton, A. Holt, L. Yan, P Gong // Proceedings of ISPRS: XXIst ISPRS Congress: Technical Commission IV. - Vol. XXXVII Part 4, 2008. - рр. 11891194.

86. Clinton N. Supervised goodness metrics for image segmentation comparison / N. Clinton, A. Holt, P Gong, L. Yan // Environmental Technology. 2007. - рр. 1-11.

87. Davis T. Phase contrast imaging of weakly absorbing materials using hard x-rays / T. Davis, D. Gao, T. Gureyev, A. Stevenson, S. Wilkins // Nature. - 1995. - № 373. - С. 595-598.

88. Dragut L. ESP a tool to estimate scale parameter for multiresolution image segmentation of remotely sensed data / L. Dragut, D. Tiede, S. R. Levick // International Journal of Geographical Information Science. - Vol. 24. - No.6, 2010. - рр. 859-871.

89. Dzung L. Pham, Chenyang Xu, Jerry L. Prince. Current Methods in Medical Image Segmentation. Annual Review of Biomedical Engineering. - Vol.2, 2000. - pp. 315-337.

90. Fowlkes C. How Much Does Globalization Help Segmentation? / С. Fowlkes, J. Malik. Report No. UCB/CSD-4-1340. Computer Science Division (EECS) University of California Berkeley, 2004. - 10 p.

91. Freixenet J., Muñoz X., Raba D., Martí J., Cufí X. Yet Another Survey on Image Segmentation: Region and Boundary Information Integration. ECCV (3), 2002. -pp. 408-422.

92. Fu K. A survey on image segmentation Текст. / К. Fu, J. Mui // Pattern Recognition. - Vol. 13, Iss.1, 1981. - рр. 3-16.

93. Gonzalez R.C., Wintz P. Digital Image Processing. - Addison-Wesley. Reading. Massachusetts. - 1987. - 505 p.

94. Leo Grady, Eric L. Schwartz. Isoperimetric Graph Partitioning for Image Segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence. - Vol. 28. - No.3, 2006. - pp. 469-475.

95. Lindeberg T. Edge Detection and Ridge Detection with Automatic Scale Selection. In Proceedings of IEEE, International Conference on Computer Vision and Pattern Recognition, San Francisco, 1996. - pp. 465-470.

96. Lu Y. Region growing method for the analysis of functional MRI data. / Y. Lu, T. Jiang, Y. Zang // Neurolmage. - No.20, 2003. - pp. 455-465.

97. Lucchese L. Color Image Segmentation: A State-of-the-Art Survey / L. Lucchese, S. K. Mitra // Proceedings of the Indian National Science Academy. - No.2, 2001. - pp. 207-221.

98. Ning, J. Interactive image segmentation by maximal similarity based region merging / J. Ning, L. Zhang, D. Zhang, C. Wu // Pattern Recognition. - Vol.43. Iss.2, 2010. - pp. 445-456.

99. Omran M., Salman A., Engelbrecht A. Dynamic clustering using particle swarm optimization witn application in image segmentation, Pattern Anal Applic 8, 2006. - pp. 332-334.

100. P.C. Cosman, R.M. Gray, R.A. Olshe. Evaluating Quality of Compressed Medical Images // Proceedings of the IEEE "SNR, Subjective Rating, and Diagnostic Accuracy". - 1994. - vol. 82 no. 6. - pp. 919 - 932.

101. Pal N., Pal S. A survey on image segmentation techniques, Pattern Recognition 26, 1993. - pp. 1277-1294.

102. Panjwani D.K., Healey G. Markov Random Field Models for Unsupervised Segmentation of textured color images, IEEE tranc. On Pattern Analysis and Machine Intelligence. - Vol. PAMI-17. - No.10, 1995. - pp. 939-954.

103. Pelleg D., Moore A. X-means: Extending k-means with efficient estimation of the number of clusters, InProc. Of the 17th Int l Conf. on Machine Learning. San Francisco, 2000. - pp. 727-734.

104. Pitiot A., Delingette H., Thompson P.M. Automated image segmentation: Issues and applications // Medical Imaging Systems Technology. - Vol.3, 2005. - pp. 147.

105. Ren X., Malik J. A Probabilistic Multi-scale Model for Contour Completion Based on Image Statistics, in ECCV '02, Copenhagen. - Vol.1, 2002. - pp. 312-327.

106. Rosenfeld A. Image pattern recognition, Proceedings of IEEE, 69(5), 1981. -pp. 596-605.

107. Segmentation (image processing) [Электронный ресурс] - Режим доступа: http://en.wikipedia.org/wiki/Segmentation_(image_processing).

108. Shapiro G. Vector (Self) Snakes: Giometric Framework for Color, Texture and Multiscale Image Segmentation, Proc. of Infl Conf. on Image Processing, Lausanne, Switzeland, 16-19 Sept. - Vol.1, 1996. - pp. 817-820.

109. Shen J. A Stochastic-Variational Model for Soft Mumford-Shah Segmentation / J. Shen // International Journal of Biomedical Imaging, 2006. - pp. 1-14.

110. Shi J. Normalized Cuts and Image Segmentation / J. Shi, J Malik // IEEE Transactions on Pattern Analysis and Machine Intelligence. - Vol.22. - No.8, 2000. - pp. 888-905.

111. William K. Pratt. Digital Image Processing, Wiley-Interscience Publication, 2001. - pp. 551-589.

112. Zhang Y.J. An Overview of Image and Video Segmentation in the Last 40 Years / Y.J. Zhang // Advances in Image and Video Segmentation, 2006. - рр. 1-16.

Госуд. регистрация ПМ

«УТВЕРЖДАЮ» Проректор по учебной работе I профессор

______¡У _И,Г. Игнатова

«_»_______2019 г.

АКТ

внедрения результатов диссертационной работы Зо Внн Хтет на тему «Разработка модели и алгоритмов для процессов контурной сегментации изображений по пввариантным характеристикам», представленной на соискание ученой степени кандидата технических наук по специальности 05.13.06 - Автоматизация н управление технологическими процессами и производствами (в приборостроении)

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

• теоретические подходы к автоматизации процессов контурной обработан изображений в АПС, позволяющие в 1,7-2 раза повысить скорость идентификации:

• алгоритм, допускающий время идентификации 500 объектов изображении - 1040 мс прн более 96 % достоверности распознавания;

■ методика выделения контуров, представленных цепным кодированием, с использованием метода инвариантных моментов, позволяющая в 2-3 раза сократить объем вычислительных операций;

■ результаты исследования качества распознавания объектов изображений с использованием разных наборов инвариантных моментов.

Предложенные методики и алгоритмы используются в учебном процессе института СПИНТех НИУ МИЭТ при чтении дисциплин {{Алгоритмы и структуры данных». «Имитационное моделирование».

Директора института СПИНТех, д.т.н.. профессор

Ученый секретарь института СПИНТех, к.т.н, доцент

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

#include "stdafx.h" #include <math.h> #include <memory.h> #include <malloc.h> #include <stdio.h> #include <string.h> #include <Windows.h> #include "freeman.h" static int xs = 0; static int ys = 0; static double* b = nullptr; static char* code = nullptr; static mtype** sample = nullptr; static double bx[2]; static double by[2]; static double fx[2]; static double fy[2]; static double nbx[2]; static double nby[2]; static double nfx[2]; static double nfy[2]; void initsamples() { if(sample != nullptr) return;

sample = (mtype**)malloc(sizeof(mtype*)*9); mtype* temp;

*(sample + 0) = (mtype*) malloc(sizeof(mtype)*samplel);

temp = *(sample + 0);

memset(temp, b0, sizeof(mtype)*samplel);

temp[2+2*samplew] = b1;

temp[2+3*samplew] = b1;

temp[2+4*samplew] = b1;

temp[2+5*samplew] = b1;

temp[2+6*samplew] = b1;

temp[2+7*samplew] = b1;

temp[2+8*samplew] = b1;

temp[3+2*samplew] = b1;

temp[4+2*samplew] = b1;

temp[5+2*samplew] = b1; temp[6+2*samplew] = b1; temp[7+2*samplew] = b1; temp[8+2*samplew] = b1; temp[3+8*samplew] = b1; temp[4+8*samplew] = b1; temp[5+8*samplew] = b1; temp[6+8*samplew] = b1; temp[7+8*samplew] = b1; temp[8+8*samplew] = b1; temp[8+7*samplew] = b1; temp[8+6*samplew] = b1; temp[8+5*samplew] = b1; temp[8+4*samplew] = b1; temp[8+3*samplew] = b1; void init(char* im, int wim, int him, mtype** r, int& l, BITMAPINFO* binfo, int strln, double* _nx, double* _ny) // init swap buffer and bin orig

{ l = (wim > him) ? wim + border*2 : him + border*2; l += (4 - (l % 4)) % 4; if (*r != nullptr) free(*r);

*r = (mtype*)malloc(l*l * sizeof(mtype)); if (b != nullptr) free(b);

b = (double*)malloc(l*l * sizeof(double)); int x0 = (wim > him) ? 0 : (l - wim) / 2; int x1 = x0 + wim;

int y0 = (wim > him) ? (l - him) / 2 : 0; int y1 = y0 + him; itype bground = *(itype*)im; for (int x = 0; x < l; x++)

for (int y = 0; y < l; y++) {

int ttt = (x - x0)*sizeof(itype) + (y - y0)*strln;

if ((x >= x0) && (x < x1) && (y >= y0) && (y < y1))

(*r)[x + y * l] = (*(itype*)(im + (x - x0)*sizeof(itype) + (y - y0)*strln) == bground) ? b0 : b1; // TODO

else

(*r)[x + y * l] = b0;

}

//drawc(*r, l); if (binfo != nullptr)

{ //binfo->bmiColors->rgbBlue = 0;

//binfo->bmiColors->rgbRed = 0; //binfo->bmiColors->rgbGreen = 0; //binfo->bmiColors->rgbReserved = 0; //memset(&binfo, 0, sizeof(BITMAPINFO)); binfo->bmiHeader.biSize = 40; binfo->bmiHeader.biWidth = l*samplew; binfo->bmiHeader.biHeight = l*samplew; binfo->bmiHeader.biPlanes = 1; binfo->bmiHeader.biBitCount = sizeof(mtype) * 8; binfo->bmiHeader.biCompression = 0;

binfo->bmiHeader.biSizeImage = l * l * sizeof(mtype) * samplel; binfo->bmiHeader.biYPelsPerMeter = 0; binfo->bmiHeader.biXPelsPerMeter = 0; binfo->bmiHeader.biClrUsed = 0; binfo->bmiHeader.biClrImportant = 0;

}

bx[0] = 0; bx[1] = l; by[0] = 0; by[1] = l;

if(_nx != nullptr)

{

nbx[0] = _nx[0]; nbx[1] = _nx[1];

}

else {

nbx[0] = 0; nbx[1] = 1;

}

if(_ny != nullptr)

{

nby[0] = _ny[0]; nby[1] = _ny[1];

}

else {

nby[0] = 0; nby[1] = 1;

}

if(abs(nbx[1] - nbx[0]) < 0.000001) {

nbx[0] = 0;

nbx[1] = l;

}

if(abs(nby[1] - nby[0]) < 0.000001) {

nby[0] = 0; nby[1] = l;

}

}

void movrot(mtype* a, mtype* c, int l, double cx, double cy, double phi, double dx, double dy)

{ memset(b, 0, l * l * sizeof(double)); double m0 = cos(phi); double m1 = sin(phi); double x1, y1; int rx0, ry0; int rx1, ry1;

for (int x = 0; x < l; x++)

for (int y = 0; y < l; y++) { x1 = (static_cast<double>(x) - cx) * m0 - (static_cast<double>(y) - cy) *

m1 + cx;

y1 = (static_cast<double>(x) - cx) * m1 + (static_cast<double>(y) - cy) *

m0 + cy;

//if ((x1 >= l - border) || (x1 <= border))

//continue; //if ((y1 >= l - border) || (y1 <= border))

//continue; if (a[x + y * l] != b1)

continue; rx0 = static_cast<int>(floor(x1)); rx1 = static_cast<int>(ceil(x1)); ry0 = static_cast<int>(floor(y1)); ry1 = static_cast<int>(ceil(y1)); b[rx0 + ry0 * l] += (1. - x1 + static_cast<double>(rx0)) * (1. - y1 + static_cast<double>(ry0));

b[rx1 + ry1 * l] += (1. + x1 - static_cast<double>(rx1)) * (1. + y1 -static_cast<double>(ry1));

b[rx0 + ry1 * l] += (1. - x1 + static_cast<double>(rx0)) * (1. + y1 -static_cast<double>(ry1));

b[rx1 + ry0 * l] += (1. + x1 - static_cast<double>(rx1)) * (1. - y1 +

static_cast<double>(ry0)); }

for (int i = 0; i < (l*l); i++) b[i] = (b[i] > 0.249999) ? b1 : b0;

int dxi = static_cast<int>(floor(dx)); int dyi = static_cast<int>(floor(dy)); uint32_t rx, ry;

for (int x = border; x < l - border; x++)

for (int y = border; y < l - border; y++) {

rx = x - dxi; ry = y - dyi;

if ((rx < l) && (ry < l)) c[x + y * l] = b[x - dxi + (y - dyi) *

i];

else c[x + y * l] = b[0];

}

for (int x = 0; x < border; x++) for (int y = 0; y < l; y++) c[x + y * l] = b[0]; for (int x = l - border; x < l; x++) for (int y = 0; y < l; y++) c[x + y * l] = b[0]; for (int x = border; x < l - border; x++) for (int y = 0; y < border; y++) c[x + y * l] = b[0]; for (int x = border; x < l - border; x++) for (int y = l - border; y < l; y++) c[x + y * l] = b[0];

drawc(c, l);

}

void rotate(mtype* a, mtype* c, int l, double cx, double cy, double phi) { memset(b, 0, l * l * sizeof(double)); double m0 = cos(phi); double ml = sin(phi); double xl, yl; int rx0, ry0; int rxl, ryl;

for (int x = 0; x < l; x++)

for (int y = 0; y < l; y++) {

xl = (static_cast<double>(x) - cx) * m0 - (static_cast<double>(y) -

cy) * ml + cx;

yl = (static_cast<double>(x) - cx) * ml + (static_cast<double>(y) -

cy) * m0 + cy;

if ((xl >= l - border) || (xl < border)) continue; if ((yl >= l - border) || (yl < border)) continue; if (a[x + y * l] != bl) continue;

rx0 = static_cast<int>(floor(x1)); rxl = static_cast<int>(ceil(x1)); ry0 = static_cast<int>(floor(y1)); ryl = static_cast<int>(ceil(y1)); b[rx0 + ry0 * l] += (1. - x1 + static_cast<double>(rx0)) * (1. - y1 + static_cast<double>(ry0));

b[rx1 + ry1 * l] += (1. + x1 - static_cast<double>(rx1)) * (1. + y1 -static_cast<double>(ry1));

b[rx0 + ry1 * l] += (1. - x1 + static_cast<double>(rx0)) * (1. + y1 -static_cast<double>(ry1));

b[rx1 + ry0 * l] += (1. + x1 - static_cast<double>(rx1)) * (1. - y1 + static_cast<double>(ry0)); }

for (int i = 0; i < (l*l); i++) c[i] = (b[i] > 0.249999) ? b1 : b0;

drawc(c, l); }

void move(mtype* a, mtype* c, int l, double dx, double dy) { int dxi = static_cast<int>(floor(dx)); int dyi = static_cast<int>(floor(dy)); uint32_t rx, ry;

for (int x = border; x < l - border; x++)

for (int y = border; y < l - border; y++) {

rx = x - dxi; ry = y - dyi;

if ((rx < l) && (ry < l)) c[x + y * l] = a[x - dxi + (y - dyi) * l]; else c[x + y * l] = a[0];

}

drawc(c, l);

}

void drawc(mtype* a, int l) // draw counter from binary { int x0 = -1, y0 = -1;

for (int i = 0; i < (l*l); i++)

if (a[i] == b1)

{

x0 = (i-1) % l; y0 = (i-1) / l; break;

}

xs = x0; ys = y0;

if (code != nullptr) free(code); code = nullptr;

cfre(a, l);

for (int i = 0; i < (l*l); i++) a[i] = b0; if (code == nullptr) return; int x = x0; int y = y0; //bx[0] = x; //bx[1] = x; //by[0] = y; //by[1] = y; char* temp = code; while (*temp != '\0') { a[x + y * l] = b1; dxy(x, y, *temp); //if(bx[0] > x) // bx[0] = x; //if(bx[1] < x) // bx[1] = x; //if(by[0] > y) // by[0] = y; //if(by[1] < y) // by[1] = y; temp++;

}

fx[0] = bx[0] - x0; fx[1] = bx[l] - x0; fy[0] = by[0] - y0; fy[1] = by[1] - y0;

nfx[0] = nbx[0] - norm(x0, bx, nbx); nfx[1] = nbx[1] - norm(x0, bx, nbx); nfy[0] = nby[0] - norm(y0, by, nby); nfy[1] = nby[1] - norm(y0, by, nby);

}

void cfre(mtype* a, int l) // take freeman code { int x0 = -1, y0 = -1;

for(int i = 0; i < (l*l); i++)

if (a[i] == b1)

{

x0 = (i - 1) % l; y0 = (i - 1) / l; break;

}

if (x0 == -1) return;

if (code != nullptr) free(code);

code = (char*)malloc(malloc_const);

int x = x0, y = y0;

int r_c = 0;

int m_c = 1 ;

char pr = '5';

while (fxy(a, l, x, y, pr) != b1) incd(pr);

*(code + r_c) = pr;

r_c++;

dxy(x, y, pr);

od(pr);

while (!((x == x0) && (y == y0))) {

while (fxy(a, l, x, y, pr) != b1) incd(pr);

if (((r_c + 1)%malloc_const) == 0) {

m_c++;

code = (char*) realloc(code, m_c*malloc_const);

}

*(code + r_c) = pr; r_c++; dxy(x, y, pr); od(pr);

}

if (((r_c + 1) % malloc_const) == 0) { m_c++;

code = (char*)realloc(code, m_c*malloc_const);

}

*(code + r_c) = '\0';

r_c++;

return;

}

void f2m(char* a, double* res, int kres, char* c0, char* c1, char* c2) // take moments from freeman

{ double a00 = 0; double a10 = 0; double a01 = 0; double a11 = 0; double a20 = 0; double a02 = 0; double a21 = 0; double a12 = 0; double a30 = 0;

double aG3 = G; double len = strlen(a); int x = G; int y = G; char* temp = a; while (*temp != '\G')

{ if (kres > G) {

aGG += 1;

a1G += norm(x, fx, nfx);

aG1 += norm(y, fy, nfy);

a2G += norm(x, fx, nfx) * norm(x, fx, nfx);

aG2 += norm(y, fy, nfy) * norm(y, fy, nfy);

}

if (kres > 1)

a11 += norm(x, fx, nfx) * norm(y, fy, nfy);

if (kres > 2) {

a21 += norm(x, fx, nfx) * norm(x, fx, nfx) * norm(y, fy, nfy); a12 += norm(x, fx, nfx) * norm(y, fy, nfy) * norm(y, fy, nfy); a3G += norm(x, fx, nfx) * norm(x, fx, nfx) * norm(x, fx, nfx); aG3 += norm(y, fy, nfy) * norm(y, fy, nfy) * norm(y, fy, nfy);

}

dxy(x, y, *temp); temp++;

}

aGG = 1./aGG;

double u2G = a2G - a1G * a1G * aGG; double uG2 = aG2 - aG1 * aG1 * aGG; double u11 = a11 - a1G * aG1 * aGG; double u21 = a21 - 2 * a11 * a1G * aGG - a2G * aG1 * aGG + 2 * a1G * a1G * aG1 * aGG * aGG;

double u12 = a12 - 2 * a11 * aG1 * aGG - aG2 * a1G * aGG + 2 * aG1 * aG1 * a1G * aGG * aGG;

double u3G = a3G - 3 * a2G * a1G * aGG + 2 * a1G * a1G * a1G * aGG * aGG; double uG3 = aG3 - 3 * aG2 * aG1 * aGG + 2 * aG1 * aG1 * aG1 * aGG * aGG; if (kres > G)

res[G] = u2G + uG2; if (kres > 1)

res[1] = (u2G - uG2)*(u2G - uG2) + 4 * u11 * u11; if (kres > 2)

res[2] = (u3G - 3 * u12)*(u3G - 3 * u12) + (3 * u21 - uG3)*(3 * u21 -

uG3);

if (kres > 3)

res[3] = (u30 + u12)*(u30 + u12) + (u21 + u03)*(u21 + u03); double i1 = (u20*u02 - u11*u11)*a00*a00*a00*a00; double i2 = (u30*u30*u03*u03 - 6*u30*u21*u12*u03 + 4*u30*u12*u12*u12 + 4*u03*u21*u21*u21 -3*u21*u21*u12*u12)*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00;

double i3 = (u20*(u21*u03 - u12*u12)-u11*(u30*u03-u21*u12)+u02*(u30*u12-u21*u21))*a00*a00*a00*a00*a00*a00*a00;

double i4 = (u20*u20*u20*u03*u03 - 6*u20*u20*u11*u12*u03 -6*u20*u20*u02*u21*u03 + 6*u20*u11*u02*u21*u12 + 9*u20*u20*u02*u12*u12 + 12*u20*u 11*u11 *u21 *u03 - 8*u11*u11*u11*u30*u30 - 6*u20*u02*u02*u30*u12 + 9*u20*u02*u02*u21*u21 + 12*u11*u11*u02*u30*u12 - 6*u11*u02*u02*u30*u21 + u02*u02*u02*u3 0*u30)*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00;

sprintf(c0, "a01 = %3.3f\na10 = %3.3f\na11 = %3.3f\na20 = %3.3f\na02 = %3.3f\na21 = %3.3f\na12 = %3.3f\na30 = %3.3f\na03 = %3.3f", a01, a10, a11, a20, a02, a21, a12, a30, a03);

sprintf(c1, "u20 = %3.3f\nu02 = %3.3f\nu11 = %3.3f\nu21 = %3.3f\nu12 = %3.3f\nu30 = %3.3f\nu03 = %3.3f", u20, u02, u11, u21, u12, u30, u03);

//sprintf(c2, "F1 = %3.3f\nF2 = %3.3f\nF3 = %3.3f\nF4 = %3.3f\n", res[0], res[1], res[2], res[3]);

sprintf(c2, "F1 = %3.3f\nF2 = %3.3f\nF3 = %3.3f\nF4 = %3.3f\ni1 = %3.3e\ni2 = %3.3e\ni3 = %3.3e\ni4 = %3.3e\n", res[0], res[1], res[2], res[3], i1, i2, i3, i4);

}

void b2m(mtype* a, int l, double* res, int kres, char* c0, char* c1, char* c2) // take moments from binary

{ double a00 = 0; double a10 = 0; double a01 = 0; double a11 = 0; double a20 = 0; double a02 = 0; double a21 = 0; double a12 = 0; double a30 = 0; double a03 = 0; for (int x = 0; x < l; x++)

for (int y = 0; y < l; y++) {

if (kres > 0)

if (a[x + y * l] == b1)

{

a00 += 1;

by, nby); by, nby); bx, nbx); by, nby);

a10 += norm(x, bx, nbx);

a01 += norm(y, by, nby);

a20 += norm(x, bx, nbx)*norm(x, bx, nbx);

a02 += norm(y, by, nby)*norm(y, by, nby);

}

if (kres > 1)

if (a[x + y * l] == b1)

all += norm(x, bx, nbx)*norm(y, by, nby);

if (kres > 2)

if (a[x + y * l] == b1)

{

a21 += norm(x, bx, nbx)*norm(x, bx, nbx)*norm(y, a12 += norm(x, bx, nbx)*norm(y, by, nby)*norm(y, a30 += norm(x, bx, nbx)*norm(x, bx, nbx)*norm(x,

a03 += norm(y, by, nby)*norm(y, by, nby)*norm(y, }

}

a00 = 1./a00;

double u20 = a20 - a10 * a10 * a00; double u02 = a02 - a01 * a01 * a00; double u11 = a11 - a10 * a01 * a00; double u21 = a21 - 2 * a11 * a10 * a00 - a20 * a01 * a00 + 2 * a10 * a10 * a01 * a00* a00;

double u12 = a12 - 2 * a11 * a01 * a00 - a02 * a10 * a00 + 2 * a01 * a01 * a10 * a00* a00;

double u30 = a30 - 3 * a20 * a10 * a00 + 2 * a10 * a10 * a10 * a00 * a00; double u03 = a03 - 3 * a02 * a01 * a00 + 2 * a01 * a01 * a01 * a00 * a00; if (kres > 0) res[0] = u20 + u02;

if (kres > 1) res[1] = (u20 - u02)*(u20 - u02) + 4 * u11 * u11;

if (kres > 2) res[2] = (u30 - 3 * u12)*(u30 - 3 * u12) + (3 * u21 - u03)*(3 *

u21 - u03);

if (kres > 3) res[3] = (u30 + u12)*(u30 + u12) + (u21 + u03)*(u21 + u03); double i1 = (u20*u02 - u11*u11)*a00*a00*a00*a00; double i2 = (u30*u30*u03*u03 - 6*u30*u21*u12*u03 + 4*u30*u12*u12*u12 + 4*u03*u21*u21*u21 -3*u21*u21*u12*u12)*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00;

double i3 = (u20*(u21*u03 - u12*u12)-u11*(u30*u03-u21*u12)+u02*(u30*u12-u21*u21))*a00*a00*a00*a00*a00*a00*a00;

double i4 = (u20*u20*u20*u03*u03 - 6*u20*u20*u11*u12*u03 -6*u20*u20*u02*u21*u03 + 6*u20*u11*u02*u21*u12 + 9*u20*u20*u02*u12*u12 + 12*u20*u 11*u11 *u21 *u03 - 8*u11*u11*u11*u30*u30 - 6*u20*u02*u02*u30*u12 + 9*u20*u02*u02*u21*u21 + 12*u11*u11*u02*u30*u12 - 6*u11*u02*u02*u30*u21 + u02*u02*u02*u3 0*u30)*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00*a00;

sprintf(c0, "a01 = %3.3f\na10 = %3.3f\na11 = %3.3f\na20 = %3.3f\na02 = %3.3f\na21 = %3.3f\na12 = %3.3f\na30 = %3.3f\na03 = %3.3f", a01, a10, a11, a20, a02, a21, a12, a30, a03);

sprintf(c1, "u20 = %3.3f\nu02 = %3.3f\nu11 = %3.3f\nu21 = %3.3f\nu12 = %3.3f\nu30 = %3.3f\nu03 = %3.3f", u20, u02, u11, u21, u12, u30, u03);

//sprintf(c2, "F1 = %3.3f\nF2 = %3.3f\nF3 = %3.3f\nF4 = %3.3f\n", res[0], res[1], res[2], res[3]);

sprintf(c2, "F1 = %3.3f\nF2 = %3.3f\nF3 = %3.3f\nF4 = %3.3f\ni1 = %3.3e\ni2 = %3.3e\ni3 = %3.3e\ni4 = %3.3e\n", res[0], res[1], res[2], res[3], i1, i2, i3, i4);

}

int bmp2b(char* name, char** m, void* bi, int& strln) //take from bmp to binary

{

BITMAPINFOHEADER* bih = (BITMAPINFOHEADER*)bi; // TODO

if (!(*m == NULL)) free(*m); if (name == NULL) return 1; if (strlen(name) == 0) return 1; FILE* f; fopen_s(&f, name, "rb"); if (f == NULL) return 1; BITMAPFILEHEADER bfh;

if (fread(&bfh, 1, sizeof(BITMAPFILEHEADER), f) != sizeof(BITMAPFILEHEADER))

{ fclose(f); return 1; }

if (fread(bih, 1, sizeof(BITMAPINFOHEADER), f) != sizeof(BITMAPINFOHEADER))

{ fclose(f); return 1; }

fseek(f, bfh.bfOffBits, SEEK_SET);

strln = bih->biWidth*bih->biBitCount / 8;

strln = strln + (4 - (strln % 4))%4;

*m =(char*) malloc(bih->biSizeImage);

uint32_t k = fread(*m, bih->biSizeImage, 1, f);

fclose(f);

return 0;

}

//bd format : <uint32> kpics <uint32> kmoments <double[4]> moments <char[64]> name

int cmpbd(double* m, int km, char* r, char* bd) // compare moments wth bd { FILE* f;

fopen_s(&f, bd, "wb+"); if (!f) return 1;

char buf[offset_len]; double best; double p;

uint32_t* kp0 = (uint32_t*)(buf + offset_kp); uint32_t* km0 = (uint32_t*)(buf + offset_km); double* m0 = (double*)(buf + offset_m); char* name = buf + offset_name; fread(buf, offset_len, 1, f); best = po(m0, m, *km0, km); memcpy(r, buf + offset_name, len_name);

while (!feof(f)) {

fread(buf, offset_len, 1, f); p = po(m0, m, *km0, km);

if (best > p) {

best = p;

memcpy(r, buf + offset_name, len_name);

}

}

fclose(f); return 0;

}

int m2bd(double* m, int km, char* r, char* bd) // write 2 bd {

FILE* f;

fopen_s(&f, bd, "wb+"); if (!f) return 1;

char buf[offset_len];

uint32_t* kp0 = (uint32_t*)(buf + offset_kp); uint32_t* km0 = (uint32_t*)(buf + offset_km); double* m0 = (double*)(buf + offset_m); char* name = buf + offset_name;

while (!feof(f)) {

fread(buf, offset_len, 1, f);

if (memcmp(name, r, len_name) == 0) {

fseek(f, - offset_len, SEEK_CUR); *(m0 + 0) = ((*(m0 + 0))*(*kp0) + m[0])/(*kp0 + 1); *(m0 + 0) = ((*(m0 + 1))*(*kp0) + m[1]) / (*kp0 + 1); *(m0 + 0) = ((*(m0 + 2))*(*kp0) + m[2]) / (*kp0 + 1); *(m0 + 0) = ((*(m0 + 3))*(*kp0) + m[3]) / (*kp0 + 1); *kp0 += 1;

fwrite(buf, offset_len, 1, f);

fclose(f);

return 0;

}

}

*kp0 = 1; *km0 = km;

memcpy(m0, m, 4 * sizeof(double)); memcpy(name, r, len_name); fwrite(buf, offset_len, 1, f); fclose(f); return 0;

}

// direction matrix

//............

// | 3 2 1 | 2 // | 4 x 0 | 1 // | 5 6 7 | 0

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