中北大学2016届毕业设计说明书
图3.6 将图片读入转化为二进制流并判定容量
开始 算法选择的判定 s2=1 s2=1还是s3=1 s3=1 隔段嵌入算法 二叉树嵌入算法 显示嵌入后的结果 结束
图3.7 显示嵌入算法的选择流程
选择嵌入的载体图片: if c1==1
cover=imread('D:\\tupian\\tu11.bmp'); elseif c2==1
cover=imread('D:\\tupian\\tu11.1.bmp'); elseif c3==1
cover=imread('D:\\tupian\\tu11.2.bmp'); elseif c4==1
cover=imread('D:\\tupian\\tu11.3.bmp'); end
ste_cover=cover;
ste_cover=double(ste_cover);
第16页 共29页
中北大学2016届毕业设计说明书
选择嵌入的密钥图片: if c5==1
T=imread('D:\\tupian\\tu10.bmp'); elseif c6==1
T=imread('D:\\tupian\\tu10.1.bmp'); elseif c7==1
T=imread('D:\\tupian\\tu10.2.bmp'); end T_tu=T;
T_tu=double(T);
[m,n]=size(ste_cover);//读取图片矩正的尺寸,并记忆 [h,k]=size(T_tu);//读取密钥图片的尺寸并做记忆 frr=fopen('D:\\tupian\\zhancun.txt','W+');
fprintf(frr,'%s','');//找到了准备存密钥图片的文本,并准备进行写入 for i=1:h for j=1:k
bind=dec2bin(T_tu(i,j),8); //将相应像素矩正数值转化为相应的二进制 frr=fopen('D:\\tupian\\zhancun.txt','a+'); //进行文本的追加 fprintf(frr,'%s',bind);//写入文本中 fclose(frr);//关闭文本 end end
f_id=fopen('D:\\tupian\\zhancun.txt','r'); [msg,len_total]=fread(f_id,'ubit1');
然后将文本中的二进制流按照相应的两种算法进行嵌入。 3.7 嵌入后的图片与原图片的直方图对比
在嵌入阶段完成后,为了能够直观的看出原图片和嵌入以后的图片的不同,引入了相应的直方图分析,首先读取原图片,然后读取嵌入密钥的图片,在这些完成后,将图片显示,并通过相应的功能函数,将其直方图显示出来,其过程如图3.8
第17页 共29页
中北大学2016届毕业设计说明书
所示:
开始 选择原载体图片 选择嵌入密钥后的图片 显示出原图片及其直方图 显示出嵌有密钥的图片和直方图 结束 图3.8 显示读取直方图的流程
具体代码如下: if c1==1
I=imread('D:\\tupian\\tu6.bmp'); elseif c2==1
I=imread('D:\\tupian\\tu7.bmp'); elseif c3==1
I=imread('D:\\tupian\\tu8.bmp'); elseif c4==1
I=imread('D:\\tupian\\tu9.bmp'); end
subplot(221),imshow(I);title('原图片!'); I=rgb2gray(I);
I=histeq(I);//显示原图的直方图 if c1==1
第18页
共29页
中北大学2016届毕业设计说明书
H=imread('D:\\tupian\\d.bmp'); elseif c2==1
H=imread('D:\\tupian\\h.bmp'); elseif c3==1
H=imread('D:\\tupian\\e.bmp'); elseif c4==1
H=imread('D:\\tupian\\f.bmp'); end
subplot(222),imshow(H);title('嵌入文本密钥后的图片'); H=rgb2gray(H);
H=histeq(H);//显示嵌入后的图片的直方图
subplot(223),imhist(I);title('原图片对应的直方图!');
subplot(224),imhist(H);title('嵌入文本密钥后对应的直方图!'); 3.8 文本的提取
对于文本的提取,当c9为1时,表明将要提取的是文本。然后依据嵌入时的选择,选择好提取的算法。依据相应的算法找到真正应该提取的像素点。然后通过与像素点对应的数值进行与1的与运算,得到嵌入的二进制流,然后将其转化成为相应的文本内容,写入存放密钥的文本中。具体的流程如图3.9所示:
开始 提取相关文本信息 选择嵌有密钥的图片 进行提取算法选择 存放于文本 寻找嵌入密钥的像素结束
图3.9 显示提取文本的流程
具体提取代码如下:
读取图片矩阵,通过c1,c2,c3,c4进行提取图片的选择:
第19页 共29页
相关推荐: