Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 8

Шифрование изображения в matlab

02.05.2015, 18:16. Показов 4220. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как можно зашифровать чёрно-белое (монохромное) изображение, например с помощью шифра Цезаря ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.05.2015, 18:16
Ответы с готовыми решениями:

Изображения в Matlab
Помогите плиз В матлабе нужно считать изображение и к одной из ее составляющих добавить шум. Через imnoise я могу, но это не тот...

Центрирование изображения в Matlab
Здравствуйте, как можно центрировать изображение в матлаб?Есть есть картинка (скину ниже), нужно сделать так чтобы объект на ней стал по...

Шифрование изображения по цвету пиксела
Боооольшая просьба помочь в такой специфической задаче: Задача: зашифровать изображение изменяя цвет каждого пиксела используя для способ...

9
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
03.05.2015, 05:50
В монохромном изображении R = G = B
Т.е. достаточно пользоваться. скажем, R.
Теперь задаете сдвиг для Цезаря k. И для каждого пикселя R1 = (R+k)%255
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 8
03.05.2015, 18:02  [ТС]
http://www.mathworks.com/matla... caesar.zip
что-то нагуглил)
Получается на вход мне нужно будет подавать не ткст'шку, а бмп'шку, и считывать яркость (которая от 0 до 255). И ещё момент, если я буду писать тот же бит с яркостью в тоже место что и предыдущий, то картинка у меня просто сместится, вряд ли это можно назвать "закодировал". На самом деле надо смешать не только яркость, но и расположение...
А вот идея ещё, если заюзать два изображения, первое кодируемое, второе ключ, то есть яркость первого смещаю на яркость второго (вроде как фильтр мулльтиплэй из фотошопа), а положения пикселя на яркость следующего в картинке ключе. Вот тогда будет каша которую раскодить можно будет только по картинке исходнику
то есть если А кодируемое а Б ключ, то для пикселя 1 яркость = яркость+яркость 1 пикселя плюс вычет из 255 если больше
положение пиксель 1 = положение +яркость пикселя 2 в ключе вычет из размера изображения
только надо хранить массив положений, иначе может оказаться что положение будет одинаковым для двух исходных точек
на бумаге изложил, но вот кто бы мог помочь реализовать это в матлабе
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
03.05.2015, 18:19
А ещё в картинке можно текст запрятать. Тоже кодирование.
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 8
03.05.2015, 21:42  [ТС]
у Вас есть возможность помочь составить алгоритм ?
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
03.05.2015, 22:01
Для начала: как загрузить файл и создать матрицы по цветам

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
x = imread('lana.bmp'); % Choose the color image
r = x(:,:,1); % Get the RED matrix
g = x(:,:,2); % Get the GREEN matrix
b = x(:,:,3); % Get the BLUE matrix
 
% Display
%Red component
subplot(1,3,1);image(r), colormap([[0:1/255:1]', zeros(256,1), zeros(256,1)]), colorbar;
%Green Component
subplot(1,3,2);image(g), colormap([zeros(256,1),[0:1/255:1]', zeros(256,1)]), colorbar;
%Blue component
subplot(1,3,3);image(b), colormap([zeros(256,1), zeros(256,1), [0:1/255:1]']), colorbar;
Для монохромной картинки хватит одной матрицы r.
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 8
08.05.2015, 18:56  [ТС]
попытался составить код с помощью матрицы для шифрования монохромного изображения используя шифр Цезаря, прошу подкорректировать
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
clear
clc
x=imread('lana.bmp');
C=[0,1,2,3,4,5,6,7,8,9];
N=9
M=9
for i=1:N
    for j=1:M
        for z=1:7
        end
    end
end
if A(i,j)==C(z)
    A(i,j)==C(z+3);
else if A(i,j)==C(8)
        A(i,j)==C(1)
    else if A(i,j)==C(9)
            A(i,j)==C(2)
        else if A(i,j)==C(10)
                A(i,j)==C(3)
            end
        end
    end
end
Миниатюры
Шифрование изображения в matlab  
0
Модератор
Эксперт функциональных языков программирования
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,882
15.05.2015, 03:19
В каком формате у Вас изображение?
Предположим, argb. Тогда у Вас есть для каждого пикселя 4 числа (3 из них одинаковые). Каждое из этих чисел нужно пересчитать по формуле
Цитата Сообщение от IrineK Посмотреть сообщение
R1 = (R+k)%255
чтобы получить новый пиксель.
(R - число из пикселя, k - ключ которым шифруем)
1
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 8
15.05.2015, 14:32  [ТС]
изображение в формате bmp (монохромный рисунок)
к примеру вот, ниже в архиве изображение 100х100, которое нужно зашифровать
как я понимаю из "R1 = (R+k)%255", 255 это цвета, а в чёрно белом изображении только 0 и 1 ведь ?
Вложения
Тип файла: rar lana.rar (244 байт, 12 просмотров)
0
Модератор
Эксперт функциональных языков программирования
3135 / 2282 / 469
Регистрация: 26.03.2015
Сообщений: 8,882
15.05.2015, 14:52
Нет. Каждый цвет строится из трёх цветов. Если эти цвета добавлены в равных пропорциях, то получится оттенок серого. Например, "FFFFFF" (255,255,255) - белый, а "000000" (0,0,0) - чёрный.

Можете посмотреть тут разные цвета:
https://www.artlebedev.ru/tools/colors/

После того, как Вы загрузили битмап, Вы можете посмотреть свойства каждого бита. Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
void Test1()
{
    var b = new Bitmap(@"c:\temp\1\lana.bmp");
    for(int i = 0; i < b.Width; i++)
        for(int j = 0; j < b.Height; j++)
        {
            var p = b.GetPixel(i, j);
            Console.WriteLine("R = {0}, G = {1}, B = {2}, A = {3} ({4})", p.R, p.G, p.B, p.A, p.Name);
            return;
        }
    
}
Добавлено через 44 секунды
"return" я поставил, чтобы он мне только один пиксель распечатал, а не все.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2015, 14:52
Помогаю со студенческими работами здесь

Создание панорамного изображения в Matlab
Получил задание в универе. Необходимо создать панорамное изображение, используя matlab. Помогите, кто чем может.

Изменение контраста изображения Matlab
Доброго времени суток! Подскажите пожалуйста как в Matlab написать пилообразную функцию, показанную на картинке, чтобы при помощи неё...

Написать программу по изменению яркости изображения в matlab
Нужно сдавать курсач!А программы нет,помогите знания в matlab не очень!

Необходимо провести бинаризацию изображения в среде matlab без помощи встроенных функций
Необходимо провести бинаризацию изображения в среде matlab без помощи встроенных функций, возможно ли это?

Шифрование с помощью матрицы и вектора (шифрование методом аналитических преобразований)
Программисты Здравствуйте! Не могу сделать этот метод,не понимаю и все тут), хорошо бы если объясняли еще....(сам сайт готов, надо только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru