Скачиваний:
184
Добавлен:
15.06.2014
Размер:
6.5 Mб
Скачать
      1. ImageSpyer 1.1

Данное ПС не является, в отличие от предыдущего, профессиональным. Авторами его является команда любителей-программистов под руководством А.Мясникова. Тем не менее, это ПС обеспечивает довольно надежное внедрение водяных знаков методом LSB. Поддерживаются те же форматы, что и для TSR Watermark Image, однако сохранение можно производить только в несжатом формате (BMP или PNG). Это обусловлено тем, что при сжатии изображения в первую очередь не учитываются значения LSB, и ЦВЗ невозможно будет извлечь. Более подробно это будет доказано в разделе «Разработка схемы алгоритма и ее описание».

На рисунке 1.7. представлен интерфейс данного ПС.

Рисунок 1.7. Интерфейс ПС ImageSpyer

Достоинствами данного ПС являются надёжная работа и интуитивно понятный интерфейс. Главным недостатком является «несерьёзность» ПС, невозможность его применения для реальных целей.

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

  1. Разработка схемы алгоритма и её описание

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

    1. Общая схема работы программы

Программное средство Watermark Injector представляет собой четыре реализованных алгоритма внедрения водяных знаков, которые управляются из главного класса с помощью пользовательского интерфейса. Каждый алгоритм может быть выбран по отдельности, при этом к одному и тому же изображению можно применить все четыре метода. Главный класс (класс MainForm) включает в себя графический пользовательский интерфейс, а также вызовы методов классов, реализующих алгоритмы внедрения ЦВЗ.

Диаграмма классов ПС Watermark Injector находится в приложении А, исходный код класса MainForm, управляющего ПС, – в приложении Б.

    1. Описание работы класса wmParameters

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

Исходный код класса WMParameters находится в приложении В.

Алгоритм нанесения ЦВЗ методом микширования показан на рисунке 2.1.

    1. Описание работы класса TextParameters

Работа класса TextParameters во многом схожа с работой класса WMParameters. Здесь используется тот же алгоритм наложения одного изображение на другое, но в качестве изображения с ЦВЗ используется заранее подготавливаемое растровое изображение, у которого фоном является текстура с параметрами ARGB = (255, 0, 0, 0), т.е. черное и абсолютно прозрачное изображение. Из пользовательской формы класс получает параметры внедрения ЦВЗ методом наложения текста, такие как относительное местоположение ЦВЗ на исходном изображении (якорение), текст для внедрения, коэффициент прозрачности, относительный размер водяного знака, угол поворота относительно контейнера, цвет, шрифт и формат текста, а также флаг наличия границы ВЗ и ее цвет. После создания промежуточного изображения, отвечающего вышеперечисленным параметрам, происходит применение метода микширования со следующими вариациями:

  • для пикселей со значением ARGB = (255, 0, 0, 0) микширование не происходит, т.к. такое значение однозначно показывает на пиксели фонового изображения; предполагается, что через пользовательскую форму задать такое значение для ЦВЗ невозможно;

  • для пикселей с промежуточным значением ARGB происходит микширование, цвет при этом является цветом границы;

  • для остальных пикселей производится классическое микширование: это непосредственно пиксели ЦВЗ.

Исходный код класса TextParameters находится в приложении Г.

Алгоритм нанесения ЦВЗ методом микширования показан на рисунке 2.2.

Рисунок 2.1. Схема алгоритма работы метода микширования

Рисунок 2.2. Схема алгоритма работы метода наложения текста