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

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

Целью курсового проекта является создание программного средства, позволяющего внедрять водяные знаки в изображения различных форматов и подтверждать подлинность файла с помощью проверки водяного знака. Программа должна обладать следующими функциями:

  • Загрузка файла изображения с любым разрешением и с любым содержимым, в форматах JPG, BMP, GIF, PNG;

  • Внедрение водяного знака в данное изображение методами микширования, нанесения текста, LSB и Patchwork;

  • Модификация параметров водяных знаков, внедряемых в изображение;

  • Сохранение файла с водяным знаком в указанных форматах;

  • Подтверждение подлинности файла путем извлечения водяного знака и соотношения его с внедренной информацией (для методов LSB и Patchwork).

Программное средство должно обладать удобным графическим пользовательским интерфейсом.

  1. Теоретическое исследование

    1. Представление изображений в эвм. Форматы изображений

Изображения в ЭВМ представляются в дискретном растровом формате (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 также содержит редактируемые теги – информацию об изображении.