Система хранения, поиска и первичной обработки фотоизображений
|
Введение 4
Задачи выпускной квалификационной работы 6
Этапы создания ИПС 7
1. Проектирование ИПС 8
1.1. Описание инструментов разработки 8
1.2. Описание структуры базы данных 10
1.3. Подключение к базе данных 15
2. Разработка ИПС 16
2.1. Окна в WPF 16
2.2. Главное окно 17
2.2.1. Превью изображений 18
2.2.2. Фильтр поиска 19
2.3. Проводник 20
2.4. Компонента по отслеживанию файловой системы 22
2.5 Режим просмотра изображения 23
2.6. Слайд-шоу 25
2.7. Режим редактора информации 26
2.8. Просмотр информации 32
2.9. Метаданные изображений 34
2.9.1. Общие сведения 34
2.9.2. Работа с метаданными 35
2.10. Обработка изображений 38
2.10.1. Общие сведения
2.10.2 Библиотека ImageProcessor 39
2.10.3 Режим обработки изображений 40
2.11. Google Drive API 44
2.11.1. Общие сведения 44
2.11.2. Подключение Google Drive API 45
2.11.3 Протокол авторизации «OAuth 2.0» 48
2.11.4. Подключение google - аккаунтов к ИПС 49
2.11.5. Удаление google - аккаунта 52
2.12. Фон ИПС 53
Тестирование ИПС 54
Установка ИПС 56
Заключение 59
Список литературы
Задачи выпускной квалификационной работы 6
Этапы создания ИПС 7
1. Проектирование ИПС 8
1.1. Описание инструментов разработки 8
1.2. Описание структуры базы данных 10
1.3. Подключение к базе данных 15
2. Разработка ИПС 16
2.1. Окна в WPF 16
2.2. Главное окно 17
2.2.1. Превью изображений 18
2.2.2. Фильтр поиска 19
2.3. Проводник 20
2.4. Компонента по отслеживанию файловой системы 22
2.5 Режим просмотра изображения 23
2.6. Слайд-шоу 25
2.7. Режим редактора информации 26
2.8. Просмотр информации 32
2.9. Метаданные изображений 34
2.9.1. Общие сведения 34
2.9.2. Работа с метаданными 35
2.10. Обработка изображений 38
2.10.1. Общие сведения
2.10.2 Библиотека ImageProcessor 39
2.10.3 Режим обработки изображений 40
2.11. Google Drive API 44
2.11.1. Общие сведения 44
2.11.2. Подключение Google Drive API 45
2.11.3 Протокол авторизации «OAuth 2.0» 48
2.11.4. Подключение google - аккаунтов к ИПС 49
2.11.5. Удаление google - аккаунта 52
2.12. Фон ИПС 53
Тестирование ИПС 54
Установка ИПС 56
Заключение 59
Список литературы
Фотография имеет особое значение в нашей жизни. Фотография - это некий «язык эмоций», способный вызвать огромную палитру чувств у человека, изменить его настроение, поделиться энергией.
Практически у каждого человека имеется семейный фотоархив, в котором представлено множество различных фотографий - как на различных традиционных носителях (снимки, отпечатанные на фотобумаге, негативы, слайды и пр.), так и на цифровых носителях. Эти фото хранят память об истории семьи (города, деревни, школы, коллектива и т.д.), о старшем её поколении, о детстве и юности наших родных и близких, о ярких моментах жизни. Количество фотографий может быть столь велико, что найти нужный снимок бывает непросто. К тому же, информацию о том, кто изображён на фотографии, место съемки, связана ли она с каким-то событием и многое другое, можно узнать только со слов владельца. Хочется сохранить эту информацию, передать ее следующим поколениям. Так родилась идея создания электронного фотоархива.
Цель выпускной квалификационной работы: создать информационно - поисковую систему (в дальнейшем ИПС) по работе с изображениями, хранящимися на компьютере и/или на «Google Drive», которая предоставит пользователю возможность просматривать и обрабатывать изображения, заносить и редактировать информацию по каждой фотографии, а также осуществлять их поиск по заданным критериям.
Актуальность информационно - поисковой системы: в настоящее время существует не так много программ для систематизированного хранения, обработки и поиска изображений. В основном, это онлайн-сервисы, которые нацелены либо на предоставление оптимального файлового хранилища, либо на обработку фотографий. Поэтому было принято решение разработать десктоп приложение, которое позволит применять различные инструменты по работе с изображениями в одном месте, не требуя сторонних ресурсов.
Кроме того, к системе может быть привязано неограниченное число google-аккаунтов с возможностью свободно переключаться между ними. При этом для работы с фотографиями, хранящимися в облачном хранилище «Google Drive», пользователь не обязан быть авторизованным в системе Google. Главное, чтобы аккаунт уже был «привязан» к фотоархиву и выбран для текущей работы.
Выпускная квалификационная работа (ВКР) имеет следующую структуру: введение, задачи ВКР (требования к разрабатываемой
информационно-поисковой системе (ИПС)), этапы создания ИПС, проектирование ИПС, реализация ИПС, тестирование ИПС, выгрузка ИПС, заключение. В конце работы представлен список использованной литературы и приложение.
Глава «Проектирование ИПС» содержит информацию о выбранных технологиях разработки; функциях, выполняемых системой для решения поставленных задач; проектировании базы данных и ее структуре.
В главе «Реализация ИПС» подробно описывается процесс создания системы, возникшие в процессе разработки проблемы и способы их решения.
Глава «Тестирование ИПС» описывает выбранную технологию тестирования; ошибки, выявленные в процессе тестирования, и методы их устранения.
В главе «Установка ИПС» описывается способ выгрузки системы и ее установка на компьютер пользователя.
Практически у каждого человека имеется семейный фотоархив, в котором представлено множество различных фотографий - как на различных традиционных носителях (снимки, отпечатанные на фотобумаге, негативы, слайды и пр.), так и на цифровых носителях. Эти фото хранят память об истории семьи (города, деревни, школы, коллектива и т.д.), о старшем её поколении, о детстве и юности наших родных и близких, о ярких моментах жизни. Количество фотографий может быть столь велико, что найти нужный снимок бывает непросто. К тому же, информацию о том, кто изображён на фотографии, место съемки, связана ли она с каким-то событием и многое другое, можно узнать только со слов владельца. Хочется сохранить эту информацию, передать ее следующим поколениям. Так родилась идея создания электронного фотоархива.
Цель выпускной квалификационной работы: создать информационно - поисковую систему (в дальнейшем ИПС) по работе с изображениями, хранящимися на компьютере и/или на «Google Drive», которая предоставит пользователю возможность просматривать и обрабатывать изображения, заносить и редактировать информацию по каждой фотографии, а также осуществлять их поиск по заданным критериям.
Актуальность информационно - поисковой системы: в настоящее время существует не так много программ для систематизированного хранения, обработки и поиска изображений. В основном, это онлайн-сервисы, которые нацелены либо на предоставление оптимального файлового хранилища, либо на обработку фотографий. Поэтому было принято решение разработать десктоп приложение, которое позволит применять различные инструменты по работе с изображениями в одном месте, не требуя сторонних ресурсов.
Кроме того, к системе может быть привязано неограниченное число google-аккаунтов с возможностью свободно переключаться между ними. При этом для работы с фотографиями, хранящимися в облачном хранилище «Google Drive», пользователь не обязан быть авторизованным в системе Google. Главное, чтобы аккаунт уже был «привязан» к фотоархиву и выбран для текущей работы.
Выпускная квалификационная работа (ВКР) имеет следующую структуру: введение, задачи ВКР (требования к разрабатываемой
информационно-поисковой системе (ИПС)), этапы создания ИПС, проектирование ИПС, реализация ИПС, тестирование ИПС, выгрузка ИПС, заключение. В конце работы представлен список использованной литературы и приложение.
Глава «Проектирование ИПС» содержит информацию о выбранных технологиях разработки; функциях, выполняемых системой для решения поставленных задач; проектировании базы данных и ее структуре.
В главе «Реализация ИПС» подробно описывается процесс создания системы, возникшие в процессе разработки проблемы и способы их решения.
Глава «Тестирование ИПС» описывает выбранную технологию тестирования; ошибки, выявленные в процессе тестирования, и методы их устранения.
В главе «Установка ИПС» описывается способ выгрузки системы и ее установка на компьютер пользователя.
В процессе разработки были изучены существующие на рынке программы по работе с изображениями, их достоинства и недостатки. Однако, ни одно из них не обладало полным функционалом инструментов для комфортной и всесторонней работы над изображениями. Поэтому, была поставлена задача по созданию мультифункциональной системы, которая позволит пользователю управлять хранением изображений, осуществлять их поиск и обработку, а также вносить всю необходимую информацию о них.
Таким образом, результатом выпускной квалификационной работы стала информационно - поисковая система «PhotoStory». Она выполняет роль электронного фотоархива, позволяющего рассказать историю владельца и его семьи, поделиться самыми яркими моментами жизни, переместиться из настоящего в мир прошлого и даже будущего.
При разработке системы использовались мощнейшие инструменты и технологии, предоставляемые интегрированной средой разработки Visual Studio 2017, компонентой SQL Server Express LocalDB, стеком технологий С# (в частности, WPF и ADO.NET) и API одной из самых популярных платформ - Google Drive.
«PhotoStory» предназначена для локальной установки. Вместе с ней будет поставляться компонент базы данных, необходимый для хранения информации о фотографиях. Таким образом, все данные располагаются непосредственно на компьютере пользователя, а не на сервере, что снижает риск несанкционированного доступа третьих лиц. Такая программа станет отличным решением для тех, кто не хочет использовать сторонние сервисы по работе с изображениями, заботясь о приватности личных данных.
Также с ИПС будет установлена компонента для отслеживания действий над объектами файловой системы. Она предназначена для обработки действий пользователя по созданию, удалению, перемещению и переименованию изображений или содержащих их папок, так как они требуют обновления информации в базе. Такое решение позволяет поддерживать актуальность данных без участия пользователя.
В ходе изучения существующих .NET библиотек для обработки изображений, было принято решение использовать библиотеку «ImageProcessor», которая наилучшим образом интегрируется с платформой WPF и заботиться об утечках памяти.
Чтобы обеспечить работу ИПС с фотографиями, расположенными на «Google Drive», были изучены и применены в разработке Google Drive API и протокол авторизации «OAuth 2.0». Сама система была реализована таким образом, что пользователь может подключить к ней неограниченное число google - аккаунтов и свободно переключаться между ними. Авторизация в сервисе Google, при этом, не требуется.
Разработанный фильтр поиска позволит, по введенным пользователем критериям, быстро найти фотографии, которые могут хранится локально и на «Google Drive». Также, пользователь может задать тип фильтра, чтобы управлять видом поиска изображений. Стоит отметить, что фильтр представляет собой сложную, многоэлементную структуру с непростой реализацией. Это связано с тем, что для обеспечения лучшей производительности, было принято решение, чтобы система отправляла только один сложный запрос, результатом которого станут изображения, отвечающие заданным критериям. Но, основную сложность представляет необходимость динамически формировать запрос на основе введенных параметров, которые представляют собой разные типы, относятся к разным информационным разделам и хранятся в разных таблицах базы данных.
При работе с электронным фотоархивом, пользователь может осуществлять быстрый переход между различными режимами просмотра и редактирования, которые позволяют работать с фотографиями и данными о них в интерактивном режиме.
Огромное количество различных устройств, приложений и сервисов осуществляют работу с метаданными: смартфоны, фото и видео техника, различные навигаторы, работающие с геоданными, профессиональные программы для обработки фотографий, социальные сети и многое другое. Поэтому, такая же возможность по работе с метаданными была включена в электронный фотоархив. Это позволит пользователю просмотреть сведения об изображении, которые уже записаны самим устройством камеры или специальной программой. Считываться такая информация будет автоматически при добавлении новых изображений.
Таким образом, разработанная система «PhotoStory» полностью реализует поставленные задачи в рамках выпускной квалификационной работы. Благодаря стильному дизайну и удобному интерфейсу, работа с электронным фотоархивом будет крайне легкой и приятной. Кроме того, система не требует от пользователя специальных технических знаний и навыков, а значит, свободно может использоваться людьми старшего поколения.
Однако, чтобы ИПС не потеряла свою актуальность, необходимо ее постоянное обновление. Можно выделить следующие направления ее развития: 1) включить в систему алгоритмы нейронной сети для усовершенствования фильтра поиска; 2) произвести интеграцию системы с API других популярных облачных сервисов хранения изображений; 3) предоставить пользователям свой собственный облачный сервис; 4) реализовать веб-версию данной программы; 5) реализовать работу с метаданными, отличных от exif.
Таким образом, результатом выпускной квалификационной работы стала информационно - поисковая система «PhotoStory». Она выполняет роль электронного фотоархива, позволяющего рассказать историю владельца и его семьи, поделиться самыми яркими моментами жизни, переместиться из настоящего в мир прошлого и даже будущего.
При разработке системы использовались мощнейшие инструменты и технологии, предоставляемые интегрированной средой разработки Visual Studio 2017, компонентой SQL Server Express LocalDB, стеком технологий С# (в частности, WPF и ADO.NET) и API одной из самых популярных платформ - Google Drive.
«PhotoStory» предназначена для локальной установки. Вместе с ней будет поставляться компонент базы данных, необходимый для хранения информации о фотографиях. Таким образом, все данные располагаются непосредственно на компьютере пользователя, а не на сервере, что снижает риск несанкционированного доступа третьих лиц. Такая программа станет отличным решением для тех, кто не хочет использовать сторонние сервисы по работе с изображениями, заботясь о приватности личных данных.
Также с ИПС будет установлена компонента для отслеживания действий над объектами файловой системы. Она предназначена для обработки действий пользователя по созданию, удалению, перемещению и переименованию изображений или содержащих их папок, так как они требуют обновления информации в базе. Такое решение позволяет поддерживать актуальность данных без участия пользователя.
В ходе изучения существующих .NET библиотек для обработки изображений, было принято решение использовать библиотеку «ImageProcessor», которая наилучшим образом интегрируется с платформой WPF и заботиться об утечках памяти.
Чтобы обеспечить работу ИПС с фотографиями, расположенными на «Google Drive», были изучены и применены в разработке Google Drive API и протокол авторизации «OAuth 2.0». Сама система была реализована таким образом, что пользователь может подключить к ней неограниченное число google - аккаунтов и свободно переключаться между ними. Авторизация в сервисе Google, при этом, не требуется.
Разработанный фильтр поиска позволит, по введенным пользователем критериям, быстро найти фотографии, которые могут хранится локально и на «Google Drive». Также, пользователь может задать тип фильтра, чтобы управлять видом поиска изображений. Стоит отметить, что фильтр представляет собой сложную, многоэлементную структуру с непростой реализацией. Это связано с тем, что для обеспечения лучшей производительности, было принято решение, чтобы система отправляла только один сложный запрос, результатом которого станут изображения, отвечающие заданным критериям. Но, основную сложность представляет необходимость динамически формировать запрос на основе введенных параметров, которые представляют собой разные типы, относятся к разным информационным разделам и хранятся в разных таблицах базы данных.
При работе с электронным фотоархивом, пользователь может осуществлять быстрый переход между различными режимами просмотра и редактирования, которые позволяют работать с фотографиями и данными о них в интерактивном режиме.
Огромное количество различных устройств, приложений и сервисов осуществляют работу с метаданными: смартфоны, фото и видео техника, различные навигаторы, работающие с геоданными, профессиональные программы для обработки фотографий, социальные сети и многое другое. Поэтому, такая же возможность по работе с метаданными была включена в электронный фотоархив. Это позволит пользователю просмотреть сведения об изображении, которые уже записаны самим устройством камеры или специальной программой. Считываться такая информация будет автоматически при добавлении новых изображений.
Таким образом, разработанная система «PhotoStory» полностью реализует поставленные задачи в рамках выпускной квалификационной работы. Благодаря стильному дизайну и удобному интерфейсу, работа с электронным фотоархивом будет крайне легкой и приятной. Кроме того, система не требует от пользователя специальных технических знаний и навыков, а значит, свободно может использоваться людьми старшего поколения.
Однако, чтобы ИПС не потеряла свою актуальность, необходимо ее постоянное обновление. Можно выделить следующие направления ее развития: 1) включить в систему алгоритмы нейронной сети для усовершенствования фильтра поиска; 2) произвести интеграцию системы с API других популярных облачных сервисов хранения изображений; 3) предоставить пользователям свой собственный облачный сервис; 4) реализовать веб-версию данной программы; 5) реализовать работу с метаданными, отличных от exif.



