Автор молодец, просто работа не нужна больше
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЦЕЛИ И ЗАДАЧИ 4
2. ИНСТРУМЕНТЫ РАЗРАБОТКИ 5
2.1. Visual Studio Code 5
2.2. Unity3D 6
2.3. iText 7
3. ОПИСАНИЕ РЕАЛИЗАЦИИ 8
3.1. Создание решений для упрощения разработки 8
3.2. Проективные преобразования изображения 11
3.3. Построение гистограмм 15
3.4. Нормализация изображения 17
3.5. Медианная фильтрация 19
3.6. Низкочастотная фильтрация 23
3.7. Ручная регулировка яркости/контрастности 25
3.8. Корректировка и выравнивание гистограмм с помощью корреляции
....................................................................................................................... 27
3.9. Сравнение изображений и дефектоскопия 29
3.10. Загрузка изображения во время работы ПО 31
3.11. Сохранение результатов дефектоскопии 32
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 35
ПРИЛОЖЕНИЯ 37
1. ПОСТАНОВКА ЦЕЛИ И ЗАДАЧИ
Основной целью будет создание программы, которая бы включала в себя некоторые из этапов обработки изображения для его дальнейшего изучения и анализа на дефекты.
Задачи, необходимые для выполнения данной цели:
1. Корректировка входного изображения для удобства его изучения оператором.
2. Проективное преобразование изображения.
3. Добавление возможности изменения яркости и контраста изображения.
4. Построение яркостных гистограмм изображения по X- и Y- координатам пикселей.
5. Нормализация изображения в амплитудном диапазоне. Приведение яркостных характеристик к стандартному виду. Контрастирование образа.
6. Медианная фильтрация изображения.
7. Низкочастотная фильтрация изображения.
8. Корректировка гистограмм старого и нового изображения в зависимости от корреляции между ними.
9. Сравнение старого и нового изображения фрески, дефектоскопия.
10. Загрузка изображения во время работы программы.
11.
...
2.1. Visual Studio Code
При решении, на каком языке программирования будет написан код программы, выбор пал на C#. Для редактирования программного кода на этом языке на рынке представлено множество решений, наиболее подходящим редактором оказался Visual Studio Code [1].
Основными плюсами при выборе Visual Studio Code стали:
1. Бесплатная версия со всеми необходимыми функциями.
2. Более удобный интерфейс по сравнению с конкурентами.
3. Легковесность и высокая скорость.
4. Отличное взаимодействие с различными системами контроля версий.
5. Гибкая настройка под любые нужды благодаря крупной и постоянно пополняющейся библиотеки расширений.
2.2. Unity3D
Для вывода входных, промежуточных и итоговых результатов обработки изображения использовался игровой движок Unity3D. Помимо разработки различных решений в игровой индустрии он также может быть очень полезен в любой сфере, которая как-либо затрагивает визуализацию данных и работу с ними [2].
...
3.1. Создание решений для упрощения разработки
При создании приложения, работающего с изображениями, нужно реализовать немало функционала, в котором будет обрабатываться большое количество данных (в основном, текстур и пикселей). Значит, очень важно автоматизировать процесс различной подготовки изображений перед тем, как начать основные вычисления и расчеты. В данном случае это несколько этапов, следующих друг за другом, а именно:
1. Корректировка выбранного изображения по размеру относительно экрана.
2. Перемещение изображения в необходимую часть окна, в котором оно наряду с другими элементами будет отображаться при работе программы.
3. Создание копии исходного изображения, которая будет изменяться в реальном времени при запуске различного функционала, чтобы наглядно показывать состояния изображения “до” и “после”.
4. Выполнение п.1-2 для созданной копии.
...
3.2. Проективные преобразования изображения
При фотографировании различных фресок и стенописей далеко не всегда возможно запечатлеть изображение на стене так, чтобы оно было прямо перед фотографом. В большинстве случаев изображение получается под различными углами ввиду различных архитектурных реставраций и прочих работ над сохранением объекта культуры в целостности (рис.6).
Рис.6 Пример фотографии фрески под углом
Для корректной обработки и дефектоскопии необходимо работать только с самим изображением фрески. Это значит, что ее нужно как-то "поворачивать", избавляться от углов, обрезать. Все подобное уже придумано и рассмотрено с помощью высшей математики. Конкретнее, в данном случае должны быть использованы проективные преобразования (рис.7,8,9). Проективные преобразования - это такие преобразования, которые переводят прямые в прямые. Говоря простым языком, эти преобразования позволяют нам различным образом взаимодействовать с проекциями и перспективой.
...
3.3. Построение гистограмм
Во многих случаях для обработки изображений используются гистограммы. Гистограмма в фотографии - это график статистического распределения элементов цифрового изображения с различной яркостью, в котором по горизонтальной оси представлена яркость, а по вертикали - относительное число пикселей с конкретным значением яркости [8]. Изучив гистограмму, можно получить общее представление о правильности экспозиции, контрасте и цветовом насыщении снимка, оценить требуемую коррекцию как при съёмке (изменение экспозиции, цветового баланса, освещения либо композиции снимка), так и при последующей
обработке.
Обычно для получения и построения гистограмм используется следующий алгоритм:
1. Построение массива размера 256 (количество уровней яркости, где 0
- абсолютно черный цвет, 255 - абсолютно белый).
2.
...
7. Низкочастотная фильтрация изображения.
8. Корректировка гистограмм старого и нового изображения в зависимости от корреляции между ними.
9. Сравнение старого и нового изображения фрески, дефектоскопия.
10. Загрузка изображения во время работы программы.
11. Сохранение результатов дефектоскопии.
2. ИНСТРУМЕНТЫ РАЗРАБОТКИ
2.1. Visual Studio Code
При решении, на каком языке программирования будет написан код программы, выбор пал на C#. Для редактирования программного кода на этом языке на рынке представлено множество решений, наиболее подходящим редактором оказался Visual Studio Code [1].
Основными плюсами при выборе Visual Studio Code стали:
1. Бесплатная версия со всеми необходимыми функциями.
2. Более удобный интерфейс по сравнению с конкурентами.
3. Легковесность и высокая скорость.
4. Отличное взаимодействие с различными системами контроля версий.
5.
...
3.7. Ручная регулировка яркости/контрастности
Также для наглядности в приложении присутствует функционал, позволяющий вручную в реальном времени менять яркость и контрастность изображения, отслеживая при этом изменения гистограмм. Для изменения яркости к каждому пикселю прибавляется (убавляется) определенный коэффициент, который может изменять сам пользователь (рис.23,25). Для изменения контрастности рассчитываются коэффициенты по специальной формуле в зависимости от числа, что устанавливается пользователем (процент повышения/уменьшения контраста), после чего перемножаются со значениями пикселей для получения новых значений (рис.24-25).
Рис.23-25 Результаты ручного изменения яркости и контраста
3.8. Корректировка и выравнивание гистограмм с помощью корреляции Одна часть проблемы невозможности делать фотографии фрески всегда одинаковыми и под одним углом решается с помощью проективных преобразований.
...
3.9. Сравнение изображений и дефектоскопия
После этапов загрузки изображения, его предварительной обработки и изменения наступает основной этап работы программы (рис.29). Используя данные старого изображения фрески (т.е. сделанного некоторый промежуток времени назад) и текущего, необходимо определить подверглось ли изображение какому-либо изменению, появились ли на нем дефекты различного характера. Для подобного анализа был использован гистограммный подход.
Рис.29 Старое и новое изображения
Невооруженным глазом видно, что именно с помощью гистограмм возможно найти на фреске дефекты. В местах, где на фреске проявились различные изменения и ухудшения, например, откололся кусок стены, либо образовалась плесень, будут затемнения, а значит, что яркость пикселей там будет меньше, по сравнению с яркостями на прошлом изображении.
Чтобы найти дефекты, нужно пройти по гистограммам обоих изображений и выделить места, где значения различаются.
...
3.10. Загрузка изображения во время работы ПО
Для обработки изображений, необходимо их изначальное присутствие либо в папке с проектом, либо возможность их загрузки в память во время работы программы. Первый вариант сразу же отпадает ввиду его нелогичности, нецелесообразности выполнения таких действий конечным пользователем (всегда перед началом работы переносить изображения в папку программы, прежде чем ее запускать), невозможности отладки и поддержки кода. Поэтому нужно было реализовать загрузку изображения в программу через штатные средства ОС, с помощью проводника. Однако Unity сам по себе просто так не поддерживает такую возможность. Чтобы осуществить подобное, необходимо в папке Assets создать подпапку Plugins, в нее скопировать библиотеку System.Windows.Forms.dll, которую можно найти в папке Unity_Location\Editor\Data\Mono\lib\mono\2.0.
...
1. Wikipedia Foundation, Inc [Электронный ресурс]: Visual Studio Code - https://ru.wikipedia.org/wiki/Visual_Studio_Code (дата обращения: 06.06.2018);
2. Wikipedia Foundation, Inc [Электронный ресурс]: Unity3D(game engine) - https://en.wikipedia.org/wiki/Unity_(game_engine) (дата обращения: 06.06.2018);
3. Wikipedia Foundation, Inc [Электронный ресурс]: iText - https://ru.wikipedia.org/wiki/IText (дата обращения: 06.06.2018);
4. Mathematics Stack Exchange [Электронный ресурс]: Augmented Reality Transformation Matrix Optimization - https://math.stackexchange.com/questions/96662/augmented-reality- transformation-matrix-optimization/96708 (дата обращения: 06.06.2018);
5. Unity – Documentation [Электронный ресурс]: Лучи из камеры - https://docs.unity3d.com/ru/current/Manual/CameraRays.html (дата обращения: 06.06.2018);
6. Unity – Documentation [Электронный ресурс]: Render Texture - https://docs.unity3d.com/Manual/class-RenderTexture.html (дата обращения: 06.06.2018);
7. Wikipedia Foundation, Inc [Электронный ресурс]: Интерполяция - https://ru.wikipedia.org/wiki/Интерполяция (дата обращения: 06.06.2018);
8. Wikipedia Foundation, Inc [Электронный ресурс]: Гистограмма в фотографии - https://en.wikipedia.org/wiki/Histogram (дата обращения: 06.06.2018);
9. НОУ ИНТУИТ: научно-образовательный портал [Электронный ресурс]: Введение в разработку мультимедийных приложений с использованием библиотек OpenCV и IPP -
http://www.intuit.ru/studies/courses/10621/1105/lecture/17989?page=9 (дата обращения: 06.06.2018);
10. Wikipedia Foundation, Inc [Электронный ресурс]: Медианный фильтр
- https://en.wikipedia.org/wiki/Median_filter (дата обращения: 06.06.2018);
11. Хабрахабр: новостной портал, блог в сфере высоких технологий [Электронный ресурс]: Матричные фильтры обработки изображений
- https://habrahabr.ru/post/142818/ (дата обращения: 06.06.2018);
12. Wikipedia Foundation, Inc [Электронный ресурс]: Гауссово размытие
- https://en.wikipedia.org/wiki/Gaussian_blur (дата обращения: 06.06.2018);
13. Wikipedia Foundation, Inc [Электронный ресурс]: Корреляция - https://ru.wikipedia.org/wiki/Корреляция (дата обращения: 06.06.2018);
14. Свидетельство о государственной регистрации программы для ЭВМ
№ 201861634 «Гистограммный анализатор изображений для дефектоскопии фресковой живописи» / Кугуракова В.В., Владимиров П.И., Зыков Е.Ю., Ситдиков А.Г., Шайхутдинова Е.Ф. - № 201861634; заявл. 19.04.2018; в реестре программ для ЭВМ с 01.06.2018;
15. Zykov, E.Yu., Vladimirov, P., Kugurakova, V.V., Shaykhutdinova, E.V., Sitdikov, A.G. The histogram approach for comparing cartograms of murals // 2018. - 17с. – принята к печати.
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЦЕЛИ И ЗАДАЧИ 4
2. ИНСТРУМЕНТЫ РАЗРАБОТКИ 5
2.1. Visual Studio Code 5
2.2. Unity3D 6
2.3. iText 7
3. ОПИСАНИЕ РЕАЛИЗАЦИИ 8
3.1. Создание решений для упрощения разработки 8
3.2. Проективные преобразования изображения 11
3.3. Построение гистограмм 15
3.4. Нормализация изображения 17
3.5. Медианная фильтрация 19
3.6. Низкочастотная фильтрация 23
3.7. Ручная регулировка яркости/контрастности 25
3.8. Корректировка и выравнивание гистограмм с помощью корреляции
....................................................................................................................... 27
3.9. Сравнение изображений и дефектоскопия 29
3.10. Загрузка изображения во время работы ПО 31
3.11. Сохранение результатов дефектоскопии 32
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 35
ПРИЛОЖЕНИЯ 37
1. ПОСТАНОВКА ЦЕЛИ И ЗАДАЧИ
Основной целью будет создание программы, которая бы включала в себя некоторые из этапов обработки изображения для его дальнейшего изучения и анализа на дефекты.
Задачи, необходимые для выполнения данной цели:
1. Корректировка входного изображения для удобства его изучения оператором.
2. Проективное преобразование изображения.
3. Добавление возможности изменения яркости и контраста изображения.
4. Построение яркостных гистограмм изображения по X- и Y- координатам пикселей.
5. Нормализация изображения в амплитудном диапазоне. Приведение яркостных характеристик к стандартному виду. Контрастирование образа.
6. Медианная фильтрация изображения.
7. Низкочастотная фильтрация изображения.
8. Корректировка гистограмм старого и нового изображения в зависимости от корреляции между ними.
9. Сравнение старого и нового изображения фрески, дефектоскопия.
10. Загрузка изображения во время работы программы.
11.
...
2.1. Visual Studio Code
При решении, на каком языке программирования будет написан код программы, выбор пал на C#. Для редактирования программного кода на этом языке на рынке представлено множество решений, наиболее подходящим редактором оказался Visual Studio Code [1].
Основными плюсами при выборе Visual Studio Code стали:
1. Бесплатная версия со всеми необходимыми функциями.
2. Более удобный интерфейс по сравнению с конкурентами.
3. Легковесность и высокая скорость.
4. Отличное взаимодействие с различными системами контроля версий.
5. Гибкая настройка под любые нужды благодаря крупной и постоянно пополняющейся библиотеки расширений.
2.2. Unity3D
Для вывода входных, промежуточных и итоговых результатов обработки изображения использовался игровой движок Unity3D. Помимо разработки различных решений в игровой индустрии он также может быть очень полезен в любой сфере, которая как-либо затрагивает визуализацию данных и работу с ними [2].
...
3.1. Создание решений для упрощения разработки
При создании приложения, работающего с изображениями, нужно реализовать немало функционала, в котором будет обрабатываться большое количество данных (в основном, текстур и пикселей). Значит, очень важно автоматизировать процесс различной подготовки изображений перед тем, как начать основные вычисления и расчеты. В данном случае это несколько этапов, следующих друг за другом, а именно:
1. Корректировка выбранного изображения по размеру относительно экрана.
2. Перемещение изображения в необходимую часть окна, в котором оно наряду с другими элементами будет отображаться при работе программы.
3. Создание копии исходного изображения, которая будет изменяться в реальном времени при запуске различного функционала, чтобы наглядно показывать состояния изображения “до” и “после”.
4. Выполнение п.1-2 для созданной копии.
...
3.2. Проективные преобразования изображения
При фотографировании различных фресок и стенописей далеко не всегда возможно запечатлеть изображение на стене так, чтобы оно было прямо перед фотографом. В большинстве случаев изображение получается под различными углами ввиду различных архитектурных реставраций и прочих работ над сохранением объекта культуры в целостности (рис.6).
Рис.6 Пример фотографии фрески под углом
Для корректной обработки и дефектоскопии необходимо работать только с самим изображением фрески. Это значит, что ее нужно как-то "поворачивать", избавляться от углов, обрезать. Все подобное уже придумано и рассмотрено с помощью высшей математики. Конкретнее, в данном случае должны быть использованы проективные преобразования (рис.7,8,9). Проективные преобразования - это такие преобразования, которые переводят прямые в прямые. Говоря простым языком, эти преобразования позволяют нам различным образом взаимодействовать с проекциями и перспективой.
...
3.3. Построение гистограмм
Во многих случаях для обработки изображений используются гистограммы. Гистограмма в фотографии - это график статистического распределения элементов цифрового изображения с различной яркостью, в котором по горизонтальной оси представлена яркость, а по вертикали - относительное число пикселей с конкретным значением яркости [8]. Изучив гистограмму, можно получить общее представление о правильности экспозиции, контрасте и цветовом насыщении снимка, оценить требуемую коррекцию как при съёмке (изменение экспозиции, цветового баланса, освещения либо композиции снимка), так и при последующей
обработке.
Обычно для получения и построения гистограмм используется следующий алгоритм:
1. Построение массива размера 256 (количество уровней яркости, где 0
- абсолютно черный цвет, 255 - абсолютно белый).
2.
...
7. Низкочастотная фильтрация изображения.
8. Корректировка гистограмм старого и нового изображения в зависимости от корреляции между ними.
9. Сравнение старого и нового изображения фрески, дефектоскопия.
10. Загрузка изображения во время работы программы.
11. Сохранение результатов дефектоскопии.
2. ИНСТРУМЕНТЫ РАЗРАБОТКИ
2.1. Visual Studio Code
При решении, на каком языке программирования будет написан код программы, выбор пал на C#. Для редактирования программного кода на этом языке на рынке представлено множество решений, наиболее подходящим редактором оказался Visual Studio Code [1].
Основными плюсами при выборе Visual Studio Code стали:
1. Бесплатная версия со всеми необходимыми функциями.
2. Более удобный интерфейс по сравнению с конкурентами.
3. Легковесность и высокая скорость.
4. Отличное взаимодействие с различными системами контроля версий.
5.
...
3.7. Ручная регулировка яркости/контрастности
Также для наглядности в приложении присутствует функционал, позволяющий вручную в реальном времени менять яркость и контрастность изображения, отслеживая при этом изменения гистограмм. Для изменения яркости к каждому пикселю прибавляется (убавляется) определенный коэффициент, который может изменять сам пользователь (рис.23,25). Для изменения контрастности рассчитываются коэффициенты по специальной формуле в зависимости от числа, что устанавливается пользователем (процент повышения/уменьшения контраста), после чего перемножаются со значениями пикселей для получения новых значений (рис.24-25).
Рис.23-25 Результаты ручного изменения яркости и контраста
3.8. Корректировка и выравнивание гистограмм с помощью корреляции Одна часть проблемы невозможности делать фотографии фрески всегда одинаковыми и под одним углом решается с помощью проективных преобразований.
...
3.9. Сравнение изображений и дефектоскопия
После этапов загрузки изображения, его предварительной обработки и изменения наступает основной этап работы программы (рис.29). Используя данные старого изображения фрески (т.е. сделанного некоторый промежуток времени назад) и текущего, необходимо определить подверглось ли изображение какому-либо изменению, появились ли на нем дефекты различного характера. Для подобного анализа был использован гистограммный подход.
Рис.29 Старое и новое изображения
Невооруженным глазом видно, что именно с помощью гистограмм возможно найти на фреске дефекты. В местах, где на фреске проявились различные изменения и ухудшения, например, откололся кусок стены, либо образовалась плесень, будут затемнения, а значит, что яркость пикселей там будет меньше, по сравнению с яркостями на прошлом изображении.
Чтобы найти дефекты, нужно пройти по гистограммам обоих изображений и выделить места, где значения различаются.
...
3.10. Загрузка изображения во время работы ПО
Для обработки изображений, необходимо их изначальное присутствие либо в папке с проектом, либо возможность их загрузки в память во время работы программы. Первый вариант сразу же отпадает ввиду его нелогичности, нецелесообразности выполнения таких действий конечным пользователем (всегда перед началом работы переносить изображения в папку программы, прежде чем ее запускать), невозможности отладки и поддержки кода. Поэтому нужно было реализовать загрузку изображения в программу через штатные средства ОС, с помощью проводника. Однако Unity сам по себе просто так не поддерживает такую возможность. Чтобы осуществить подобное, необходимо в папке Assets создать подпапку Plugins, в нее скопировать библиотеку System.Windows.Forms.dll, которую можно найти в папке Unity_Location\Editor\Data\Mono\lib\mono\2.0.
...
1. Wikipedia Foundation, Inc [Электронный ресурс]: Visual Studio Code - https://ru.wikipedia.org/wiki/Visual_Studio_Code (дата обращения: 06.06.2018);
2. Wikipedia Foundation, Inc [Электронный ресурс]: Unity3D(game engine) - https://en.wikipedia.org/wiki/Unity_(game_engine) (дата обращения: 06.06.2018);
3. Wikipedia Foundation, Inc [Электронный ресурс]: iText - https://ru.wikipedia.org/wiki/IText (дата обращения: 06.06.2018);
4. Mathematics Stack Exchange [Электронный ресурс]: Augmented Reality Transformation Matrix Optimization - https://math.stackexchange.com/questions/96662/augmented-reality- transformation-matrix-optimization/96708 (дата обращения: 06.06.2018);
5. Unity – Documentation [Электронный ресурс]: Лучи из камеры - https://docs.unity3d.com/ru/current/Manual/CameraRays.html (дата обращения: 06.06.2018);
6. Unity – Documentation [Электронный ресурс]: Render Texture - https://docs.unity3d.com/Manual/class-RenderTexture.html (дата обращения: 06.06.2018);
7. Wikipedia Foundation, Inc [Электронный ресурс]: Интерполяция - https://ru.wikipedia.org/wiki/Интерполяция (дата обращения: 06.06.2018);
8. Wikipedia Foundation, Inc [Электронный ресурс]: Гистограмма в фотографии - https://en.wikipedia.org/wiki/Histogram (дата обращения: 06.06.2018);
9. НОУ ИНТУИТ: научно-образовательный портал [Электронный ресурс]: Введение в разработку мультимедийных приложений с использованием библиотек OpenCV и IPP -
http://www.intuit.ru/studies/courses/10621/1105/lecture/17989?page=9 (дата обращения: 06.06.2018);
10. Wikipedia Foundation, Inc [Электронный ресурс]: Медианный фильтр
- https://en.wikipedia.org/wiki/Median_filter (дата обращения: 06.06.2018);
11. Хабрахабр: новостной портал, блог в сфере высоких технологий [Электронный ресурс]: Матричные фильтры обработки изображений
- https://habrahabr.ru/post/142818/ (дата обращения: 06.06.2018);
12. Wikipedia Foundation, Inc [Электронный ресурс]: Гауссово размытие
- https://en.wikipedia.org/wiki/Gaussian_blur (дата обращения: 06.06.2018);
13. Wikipedia Foundation, Inc [Электронный ресурс]: Корреляция - https://ru.wikipedia.org/wiki/Корреляция (дата обращения: 06.06.2018);
14. Свидетельство о государственной регистрации программы для ЭВМ
№ 201861634 «Гистограммный анализатор изображений для дефектоскопии фресковой живописи» / Кугуракова В.В., Владимиров П.И., Зыков Е.Ю., Ситдиков А.Г., Шайхутдинова Е.Ф. - № 201861634; заявл. 19.04.2018; в реестре программ для ЭВМ с 01.06.2018;
15. Zykov, E.Yu., Vladimirov, P., Kugurakova, V.V., Shaykhutdinova, E.V., Sitdikov, A.G. The histogram approach for comparing cartograms of murals // 2018. - 17с. – принята к печати.
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
850 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55693 Дипломной работы — поможем найти подходящую