Шифрование RGB изображения с помощью Фурье образа - lanit-tercom-school/grouplock GitHub Wiki
Идея: Пусть наше изображение представлено RGB матрицей. Тогда можно применить дискретное преобразование Фурье для получения Фурье-образа изображения. Дешифровка же будет заключаться в применении обратного дискретного преобразования Фурье.
Алгоритм: Пусть дано цифровое представление цветного изображения с помощью трех матриц(R, G, B), образующих трех- мерный массив (или матрицей, в которой каждый элемент - вектор размерности 3): C = cat(3, R, G, B) (конкатенация). Если матрицы имеют размер M ×N, то C содержит M ×N ×3 элементов. Каждый элемент определяется тремя индексами C[m, n, z], где z = 1, 2, 3 соответствует матрицам R, G, B:
C[m, n, 1] = R[m, n],
C[m, n, 2] = G[m, n],
C[m, n, 3] = B[m, n].
Здесь используются три матрицы, которые называют красным R (Red), зеленым G (Green) и синим G (Blue) цветовым каналом или цветовой компонентой. Ввиду некоммутативности конкатенации, порядок матриц является важным. Т.е. цветное изображение можно представить в виде трех матриц размера MxN (размеры изображения) (покажем для примера для компоненты R):
где каждая компонента имеет вид f(x,y), в которой x и y - пространственные координаты, а амплитуда f в любой точке - интенсивность\уровень цвета (в данном случае R - красного). Пусть f(x,y) при x = 0, 1, M-1 y = 0, 1, N-1 обозначает изображения размера MxN. Тогда двумерное дискретное преобразование Фурье:
Обратное двумерное дискретное преобразование Фурье:
Пример Фурье-образа для черно-белого изображения:
Минусы: если человек знаком с данной темой (дискретное преобразование Фурье), то по изображению он сможет определить, что он видит Фурье-образ изображения и достаточно применить обратное преобразование Фурье для расшифровки.
Литература:
-
Гонсалес Р., Вудс Р., Эддинс С. - Цифровая обработка изображений в среде MATLAB - 4 глава
-
В.Т. Фисенко, Т.Ю. Фисенко КОМПЬЮТЕРНАЯ ОБРАБОТКА И РАСПОЗНАВАНИЕ ИЗОБРАЖЕНИЙ учебное пособие (начиная с п. 6.2)
-
Дискретное преобразование Фурье https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A4%D1%83%D1%80%D1%8C%D0%B5
-
Преобразование Фурье. Линейная фильтрация в частотной области http://wiki.technicalvision.ru/index.php/%D0%9F%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%A4%D1%83%D1%80%D1%8C%D0%B5.%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%BD%D0%BE%D0%B9_%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8