matlab代码实现自适应空间域图像数字水印算法
时间: 2023-08-03 09:05:50 浏览: 105
以下是自适应空间域图像数字水印算法的MATLAB实现代码:
```matlab
clc;
clear all;
close all;
% 读取图像
I = imread('lena.jpg');
I = rgb2gray(I);
% 设置水印
W = 255 * rand(size(I));
W = uint8(W);
% 嵌入水印
alpha = 0.1; % 嵌入强度
I_wm = I + alpha * W;
% 提取水印
W_hat = (I_wm - I) / alpha;
% 显示原始图像、水印和嵌入水印后的图像
figure;
subplot(2, 2, 1);
imshow(I);
title('原始图像');
subplot(2, 2, 2);
imshow(W);
title('水印');
subplot(2, 2, 3);
imshow(I_wm);
title('嵌入水印后的图像');
subplot(2, 2, 4);
imshow(W_hat);
title('提取的水印');
```
这里使用了lena.jpg作为原始图像,将一个随机生成的水印W嵌入到原始图像中,然后再从嵌入水印后的图像中提取出水印W_hat。其中alpha是嵌入强度,可根据具体需求进行调整。
阅读全文