图片隐写-完全脆弱图像水印嵌入秘密信息
时间: 2023-11-06 08:51:34 浏览: 93
图片隐写是一种将秘密信息隐藏在图片中的技术,而图像水印是一种保护图片版权的技术。这两种技术虽然都涉及到图片,但其目的和实现方式不同。
在图像水印中,水印信息是明显可见的,一般用于标识图片的版权信息或者防止盗版。而在图片隐写中,秘密信息是隐蔽在图片像素中的,不可见于肉眼,一般用于保护隐私或者进行秘密通信。
“完全脆弱图像水印嵌入秘密信息”这个问题不太清晰,但如果理解为将秘密信息嵌入到图像水印中,那么这种方式是有风险的,因为如果水印被去除,隐含的秘密信息也会随之暴露。因此,如果想要保护重要的秘密信息,建议使用专门的图片隐写技术来进行隐藏。
相关问题
假如你是一个工程师 完善下面的代码 符合下列要求 关于图片隐写-完全脆弱图像水印 嵌入秘密信息 clc; clear; oi=imread('lena.bmp'); [orow,ocol]=size(oi); pixelcount= ;%计算总像素个数 count= ;%总像素分为8个一组 wi=oi(:); for i=1:count%用于存放56比特 for j=1:56 %输入代码 end end k=1; i=1; for i=1:count wherestart=8*(i-1); for j=1:8 b(i,j)=wi(wherestart+j); end end %把每个像素值的高7位取出,顺序为2、3、4、5、6、7、8 modcount=1; for i=1:count for j=1:8 for k=1:7 %输入代码 end end end %把所有的56位的值按照模2加得到一个56位长度的Checksum值 z=sum(l,1); for i=1:56 %输入代码 end %从图像中随机选取56个像素点 key=123%用户选取随机嵌入的位置 z=uint8(z); [row,col]=randselect(oi,56,key); for k=1:56 temp(k)=oi(row(k),col(k)); temp1=str2bit(temp(k)); temp1(8)=z(k); oi(row(k),col(k))=bit2str(temp1); end imwrite(oi,'watermarked.bmp','bmp'); figure; subplot(1,2,1);imshow('lena.bmp');title('原始图像'); subplot(1,2,2);imshow('watermarked.bmp');title('添加水印信息的图像');
clc;
clear;
oi=imread('lena.bmp');
[orow,ocol]=size(oi);
pixelcount=orow*ocol;%计算总像素个数
count=floor(pixelcount/8);%总像素分为8个一组
wi=oi(:);
for i=1:count%用于存放56比特
for j=1:56
%输入代码:将秘密信息嵌入像素值的最低位
%wi((i-1)*8+j)=bitset(wi((i-1)*8+j),1,secret_info(j));
end
end
k=1;
i=1;
for i=1:count
wherestart=8*(i-1);
for j=1:8
b(i,j)=bitget(wi(wherestart+j),1);%把每个像素值的最低位取出
end
end
%把所有的56位的值按照模2加得到一个56位长度的Checksum值
l=sum(b,1);
for i=1:56
%输入代码:将Checksum值的每一位按照模2加的方式计算出来
%l(i)=mod(sum(b(:,i)),2);
end
%从图像中随机选取56个像素点
key=123;%用户选取随机嵌入的位置
z=uint8(l);
[row,col]=randselect(oi,56,key);
for k=1:56
temp=oi(row(k),col(k));
temp1=bitget(temp,1, 'uint8');
temp1(8)=z(k);
oi(row(k),col(k))=bitset(temp,1,temp1);%将Checksum值的每一位嵌入随机选取的像素点中
end
imwrite(oi,'watermarked.bmp','bmp');
figure;
subplot(1,2,1);imshow('lena.bmp');title('原始图像');
subplot(1,2,2);imshow('watermarked.bmp');title('添加水印信息的图像');
数字水印嵌入秘密信息设计和示例
数字水印嵌入秘密信息是一种隐蔽传输信息的技术,在多媒体领域得到广泛应用。数字水印嵌入秘密信息的基本思想是将秘密信息隐藏在原始媒体数据中,以实现信息的隐蔽传输。下面将介绍数字水印嵌入秘密信息的设计和示例。
数字水印嵌入秘密信息的设计:
1. 首先选择一种合适的加密算法对秘密信息进行加密,保证信息的安全性。
2. 接着设计一个合适的数字水印嵌入算法,将加密后的秘密信息嵌入到原始媒体数据中。
3. 为了保护嵌入的秘密信息不被盗取或篡改,可以采用数字签名等技术进行保护。
数字水印嵌入秘密信息的示例:
以图像水印为例,假设我们要在一张图片中嵌入一个秘密信息,以下是具体步骤:
1. 选择一张要嵌入秘密信息的图片,并将秘密信息进行加密。
2. 设计一个数字水印嵌入算法,将加密后的秘密信息嵌入到图片的灰度值中。
3. 对嵌入了秘密信息的图片进行数字签名,保证图像的完整性和安全性。
4. 将嵌入了秘密信息的图片传输给接收方。
5. 接收方使用数字水印提取算法提取出嵌入在图像中的秘密信息,并进行解密得到原始信息。
总之,数字水印嵌入秘密信息是一种隐蔽传输信息的技术,可以在多媒体领域得到广泛应用。在具体实现中,需要设计合适的加密算法和数字水印嵌入算法,同时还需要采用数字签名等技术进行保护,以保证信息的安全性和完整性。