Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Project.doc
Скачиваний:
1
Добавлен:
02.05.2019
Размер:
319.49 Кб
Скачать
    1. Фактична реалізація алгоритму

Фактично весь алгоритм є 2 блоками з 4 вкладених циклів: перший блок відповідає за шифрування по вертикалі, а другий – по горизонталі. Бо обидва блоки можна узагальнити однією формулою, бо шифрування по горизонталі можна представити як шифрування по вертикалі, де ширина – це висота оригінального зображення, а висота – зрозуміло, ширина оригінального зображення.

Отже приступимо7:

Нехай:

const Середина = (Висота - Висота mod Розмір_Квадрата) / 2

((Висота - Висота % Розмір_Квадрата) / 2) mod Розмір_Квадрата

const Кінець_ширини = Ширина Ширина mod Розмір_Квадрата Розмір_Квадрата

Варто зазначити, що при кодуванні по горизонталі замість Висота потрібно поставити Ширина і, звичайно, навпаки.

Формули, що вираховують const Середина і const Кінець встановлені експериментально.

const Кінець – це не власне кінець зображення, а крайня межа пікселів, що шифруються Розмір_Квадрата.

в – тимчасова висота.

ш – тимчасова ширина.

Отже:

1|Від в := 0 поки в < Середина, в := в + Розмір_Квадрата;

2| Від ш := 0 поки ш < Кінець, в := в + Розмір_Квадрата * 2;

3| Від зміщення_по_висоті := 0 поки зміщення_по_висоті < 10,

4| зміщення_по_висоті = зміщення_по_висоті + 1;

5| Від зміщення_по_ширині := 0 поки зміщення_по_висоті < 10,

6| зміщення_по_висоті = зміщення_по_висоті + 1;

7| Переміняти місцями пікселі

8| [в + зміщення_по_висоті] [ ш + зміщення_по_ширині] і

9| [Кінець _висоти в + зміщення_по_висоті] [ ш + зміщення_по_ширині];

Додаткові пояснення:

  • 2| в := в + Розмір_Квадрата * 2 – мы «перескакуємо» 1 квадрат.

    1. Висновки

Щодо алгоритму: варто сказати, що він досить простий та для шифрування власне зображень він є досить зручним через його достатню зрозумілість і симетрію.

Щодо симетрії: якщо виразити алгоритм як функцію , оригінальне зображення як , а зашифроване як , то і або, виразити, . Але у нашому алгоритмі це виражено трохи по іншому:

Нехай – шифрування по вертикалі, – шифрування по горизонталі, – оригінальне зображення , а – зашифроване, тоді , а .

Тобто щоб розшифрувати зашифроване зображення потрібно спочатку зашифрувати його по горизонталі, а потім і по вертикалі. Тоді вийде, що розшифроване і оригінальне зображення – однакові.

  1. Формат bmp. Опис та специфікація

    1. Початкові відомості

BMP (від англ. Bitmap Picture) – формат зберігання растрових зображень.

З форматом BMP працює величезна кількість програм, так як його підтримка інтегрована в операційні системи Windows і OS/2. Файли формату BMP можуть мати розширення . bmp, . dib і .rle. Крім того, дані цього формату включаються в двійкові файли ресурсів RES і в PE-файли.

Глибина кольору в даному форматі може бути 1, 2, 4, 8, 16, 24, 32, 48 біт на піксель, максимальні розміри зображення 65535 × 65535 пікселів. Однак, глибина 2 біта на піксель офіційно не підтримується.

У форматі BMP є підтримка стиснення по алгоритму RLE, однак тепер існують формати з більш сильним стисненням, і через великий обсяг BMP рідко використовується в Інтернеті, де для стиснення без втрат використовуються PNG і старіший GIF.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]