使用Arnold置乱水印后嵌入到经DFT变换后的彩色图像中频相位中的matlab代码
时间: 2024-06-11 11:07:57 浏览: 16
以下是使用Arnold置乱水印后嵌入到经DFT变换后的彩色图像中频相位中的Matlab代码:
%% 读入原始图像
I = imread('lena.bmp');
I = imresize(I, [256, 256]);
%% 将图像转换为灰度图像
I_gray = rgb2gray(I);
%% 进行DFT变换
I_dft = fft2(I_gray);
%% 将DFT变换后的频率相位提取出来
I_phase = angle(I_dft);
%% 读入水印图像
W = imread('watermark.bmp');
W = imresize(W, [256, 256]);
%% 将水印图像转换为二值图像
W_bin = im2bw(W, 0.5);
%% 对水印图像进行Arnold置乱
W_scrambled = Arnold(W_bin, 10);
%% 将水印嵌入到频率相位中
alpha = 0.1;
I_phase_watermarked = I_phase + alpha * pi * double(W_scrambled);
%% 将嵌入水印后的频率相位反变换回图像
I_watermarked = ifft2(abs(I_dft) .* exp(1i * I_phase_watermarked));
%% 显示嵌入水印后的图像
figure;
imshow(I_watermarked, []);
%% 保存嵌入水印后的图像
imwrite(I_watermarked, 'watermarked_image.bmp');
%% 定义Arnold置乱函数
function [Y] = Arnold(X, N)
% X: 输入矩阵
% N: 置乱次数
% Y: 输出矩阵
% 获取输入矩阵的大小
[M, N] = size(X);
% 定义置乱矩阵
P = [1, 1; 1, 2];
% 进行置乱操作
for k = 1:N
for i = 1:M
for j = 1:N
% 计算置乱后的坐标
idx = mod(P * [i; j], [M, N]) + 1;
% 将置乱后的像素放入输出矩阵中
Y(idx(1), idx(2)) = X(i, j);
end
end
% 将输出矩阵作为下一次置乱的输入矩阵
X = Y;
end
end
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)