- •Содержание
- •Введение
- •Постановка задачи
- •Теоретическое исследование
- •Представление изображений в эвм. Форматы изображений
- •Общие положения о защите авторского права и водяных знаках
- •Методы внедрения водяных знаков в изображения
- •Метод микширования
- •Метод нанесения текста
- •Метод lsb
- •Метод Patchwork
- •Обзор существующих программ-аналогов
- •Tsr Watermark Image 1.9.6.4
- •ImageSpyer 1.1
- •Разработка схемы алгоритма и её описание
- •Общая схема работы программы
- •Описание работы класса wmParameters
- •Описание работы класса TextParameters
- •Описание работы класса lsbInjector
- •Описание работы класса PatchworkInjector
- •Разработка программы
- •Тестирование и отладка
- •Руководство пользователя
- •Описание менюFile
- •Описание интерфейса метода микширования
- •Описание интерфейса метода нанесения текста
- •Описание интерфейса методовLsBиPatchwork
- •Заключение
- •Список использованных источников
- •Приложение а. Диаграмма классов приложения watermark injector
- •Приложение б. Исходный текст классаmainform
- •Приложение в. Исходный текст класса wmparameters
- •Приложение г. Исходный текст класса textparameters
- •Приложение д. Исходный текст классаlsbinjector
- •Приложение д. Исходный текст классаpatchworkinjector
Постановка задачи
Целью курсового проекта является создание программного средства, позволяющего внедрять водяные знаки в изображения различных форматов и подтверждать подлинность файла с помощью проверки водяного знака. Программа должна обладать следующими функциями:
Загрузка файла изображения с любым разрешением и с любым содержимым, в форматах JPG, BMP, GIF, PNG;
Внедрение водяного знака в данное изображение методами микширования, нанесения текста, LSB и Patchwork;
Модификация параметров водяных знаков, внедряемых в изображение;
Сохранение файла с водяным знаком в указанных форматах;
Подтверждение подлинности файла путем извлечения водяного знака и соотношения его с внедренной информацией (для методов LSB и Patchwork).
Программное средство должно обладать удобным графическим пользовательским интерфейсом.
Теоретическое исследование
Представление изображений в эвм. Форматы изображений
Изображения в ЭВМ представляются в дискретном растровом формате (bitmap), т.е. в виде двумерной матрицы пикселей (picture element, элемент изображения), причем каждый пиксель однозначно характеризуется числом – значением цвета.
Наиболее распространенным форматом цвета является т.н. ARGB–представление (от Alpha – Red – Green – Blue). Это четырехбайтное целое число, в котором байты имеют следующие значения: α (коэффициент прозрачности), R (компонент красного цвета), G (компонент зеленого цвета) и B (компонент синего цвета). Смикшированные 4 компонента при большом разрешении изображения дают эффект, практически неотличимый от изображения в аналоговом формате (например, фотография на фотопленке).
Все операции над изображениями, в таком случае, сводятся к попиксельным операциям над цветом.
Именно в таком виде представляются изображения в формате BMP. Зная это, можно определить максимальный размер ВМР–файла, зная его разрешение:
size = width*height*4,
где size – размер изображения в памяти (в байтах), width и height – его ширина и высота в пикселах, соответственно. Например, изображение размера 1024х768 будет иметь размер 3145728 байт.
В подобном формате хранится и изображение PNG (Portable Network Graphics).
Изображения такого типа являются наиболее точным отображением аналогового изображения: единственной погрешностью является погрешность дискретизации (растровое изображение имеет конечное число пикселей – разрешение).
Принципиально другой подход используется при хранении изображения с потерями в сжатых форматах GIF и JPG.
JPEG (Joint Photographic Experts Group), по названию организации-разработчика) — один из популярных графических форматов, применяемый для хранения фотоизображений и подобных им изображений. Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь (режим сжатия lossless JPEG). Алгоритм JPEG в наибольшей степени пригоден для сжатия фотографий и картин, содержащих реалистичные сцены с плавными переходами яркости и цвета. Наибольшее распространение JPEG получил в цифровой фотографии и для хранения и передачи изображений с использованием сети Интернет. С другой стороны, JPEG малопригоден для сжатия чертежей, текстовой и знаковой графики, где резкий контраст между соседними пикселами приводит к появлению заметных артефактов. Такие изображения целесообразно сохранять в форматах без потерь. JPEG (как и другие методы искажающего сжатия) не подходит для сжатия изображений при многоступенчатой обработке, так как искажения в изображения будут вноситься каждый раз при сохранении промежуточных результатов обработки. JPEG не должен использоваться и в тех случаях, когда недопустимы даже минимальные потери, например, при сжатии астрономических или медицинских изображений.
В данном формате для уменьшения размера файла производятся операции, связанные с удалением невидимой глазу информации, с использованием таких методов цифровой обработки сигналов, как преобразование из формата RGB в формат YUV, прореживание (установление одинаковых уровней яркости) для близкорасположенных групп пикселей, вейвлет-преобразование и сжатие групп пикселей по алгоритму Хаффмана. В результате получается файл размером, в среднем, в 10 раз меньший, чем файл BMP. При этом различия между оттенками изображений двух файлов невооруженным глазом в большинстве случаев не заметны. Файл JPG также содержит редактируемые теги – информацию об изображении.