global watermark; global watermark_en; %水印图像矩阵的行数与列数 Mm=size(watermark,1); Nm=size(watermark,2); N=Mm*Nm; key=0.2345; m(1)=key; %产生混沌序列 for i=1:N-1 m(i+1)=4*m(i)-4*m(i)^2; end m=mod(1000*m,256); m=uint8(m); m=im2bw(m); %置乱 n=1; for i=1:Mm for j=1:Nm watermark_en(i,j)=bitxor(m(n),watermark(i,j)); n=n+1; end end % %写入加密水印图像 % imwrite(watermark_en,'watermark_en.bmp','bmp'); % disp('加密成功'); axes(handles.axes6); imshow(watermark_en); title('加密水印'); global watermark_en;
时间: 2023-07-15 10:10:17 浏览: 71
DCT_watermark.rar_watermark_图像水印
这段代码是一段 MATLAB 的程序,用于对水印图像进行加密处理。具体来说,它采用混沌序列生成算法产生一组密钥,然后将该密钥与水印图像进行异或运算,将其置乱,最终得到加密后的水印图像。代码中的变量 watermark 表示原始水印图像矩阵,watermark_en 表示加密后的水印图像矩阵。程序最后将加密后的水印图像显示在 MATLAB 图形界面的 axes6 控件中。
阅读全文