Масштабирование изображений с учётом контента

Содержание

Слайд 2

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

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

Постановка задачи

2

Слайд 3

Цель работы - спроектировать и реализовать независимую подсистему масштабирования изображений.
Задачи:
Провести анализ

Цель работы - спроектировать и реализовать независимую подсистему масштабирования изображений. Задачи: Провести
существующих систем обработки изображений.
Спроектировать и реализовать подсистему масштабирования изображений.
Провести тестирование и отладку подсистемы масштабирования.

Цель и задачи работы

3

Слайд 4

Функциональные требования

4

Наличие интерфейса подпрограммы;
Реализация класса изменения изображения;
Обеспечение загрузки/сохранения изображения;
Отображение загруженного изображения;
Выбор алгоритма

Функциональные требования 4 Наличие интерфейса подпрограммы; Реализация класса изменения изображения; Обеспечение загрузки/сохранения
ресайзинга;
Тестирование работающей подсистемы.

Слайд 5

Использование алгоритма Seam Carving

5

Алгоритм состоит из составных частей:
Нахождение энергии каждой точки;
Нахождение такой вертикальной

Использование алгоритма Seam Carving 5 Алгоритм состоит из составных частей: Нахождение энергии
цепочки пикселей, чтобы суммарная энергия пикселей, которые входят в эту цепочку была минимальной;
Удаление минимальной цепочки.

Слайд 6

Вычисление энергии пикселя Двойная функция градиента энергии

6

 

 

Таким образом, энергия пикселя (1, 2) равна

Вычисление энергии пикселя Двойная функция градиента энергии 6 Таким образом, энергия пикселя
41620 + 10404 = 52024.

Слайд 7

Нахождение цепочки с минимальной суммарной энергией

7

Нахождение цепочки с минимальной суммарной энергией 7

Слайд 8

Создание классов

8

Теперь создаем необходимые классы отвечающие за графический интерфейс и алгоритмическую часть

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

Слайд 9

Диаграмма классов

Диаграмма классов

Слайд 11

Диаграмма взаимодействия пользователя с системой

9

Диаграмма взаимодействия пользователя с системой 9

Слайд 12

Работоспособность подсистемы

10

Работоспособность подсистемы 10

Слайд 13

Тестирование

11

Для тестирования класса было создано 14 unit-тестов:
1. testFindSeamsOn3x7
2. testFindSeamsOn4x6
3. testFindSeamsOn5x6
4. testFindSeamsOn6x5
5. testFindSeamsOn7x3
6. testFindSeamsOn10x12
7. testFindSeamsOn12x10
8. testFindSeamsOnMountains
9. testFindSeamsOnBridge
10. testFindSeamsOnLake
11. testFindSeamsOnSea
12. testFindSeamsOnBlackWhite
13. testFindSeamsOnRed
14. testFindSeamsOnGreen

Тестирование 11 Для тестирования класса было создано 14 unit-тестов: 1. testFindSeamsOn3x7 2.

Слайд 14

В ходе выполнения работы был рассмотрен алгоритм под названием «Seam Carving». Работа

В ходе выполнения работы был рассмотрен алгоритм под названием «Seam Carving». Работа
потребовала изучения большого количества литературного материала. На основе него были получены знания в работе с такими структурами данных, как графы и усовершенствованы навыки в области динамического программирования. Так же в процессе выполнения проекта мы научились работать с Unit-тестами, т.е. писать их и составлять.
Интерфейс созданной подсистемы удобен, прост, наглядно отображает ее возможности. Главное меню редактора содержит команды работы с файлами, команды выбора метрик для масштабирования.
Тестирование подтвердило, что программа корректно выполняет обработку данных и демонстрацию результатов.

12

Заключение

Имя файла: Масштабирование-изображений-с-учётом-контента.pptx
Количество просмотров: 35
Количество скачиваний: 0