⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.m

📁 基于bmp数字图像的隐写算法
💻 M
字号:
%将水印图像按最不重要位(LSB)方法嵌入到载体图像中,在把水印从载体图像中提取出来 
%注:整个算法分为水印嵌入部分和水印提取部分。 
clc;
clear;
% 处理隐写图像 
file_name='copyright.bmp'; 
mark=imread(file_name); 
mark=rgb2gray(mark);
mark=round(double(mark)/255);
%显示水印图像
subplot(2,2,1),imshow(mark,[]),title('隐写图像');
% 读入载体图像 
file_name='lena.bmp'; 
cover=imread(file_name); 
subplot(2,2,2),imshow(cover,[]),title('载体图像');
%获取图像大小
[m,n]=size(cover);
[r,c]=size(mark);
%隐写嵌入算法
i = 1;j = 1;ii = 1;jj = 1;p = r*c;
while p~=0
            cover(i,j) = bitset(cover(i,j),1,mark(ii,jj));
            jj = jj+1;
            j = j+1;p = p-1;
            if jj == c+1
                ii = ii+1;jj = 1;
            end
            if j == n+1
                i = i+1;j = 1;
            end
end;
subplot(2,2,3),imshow(cover,[]),title('含隐写信息图像'); 
imwrite(cover,'stego_cover.bmp','bmp'); 
file_name='stego_cover.bmp'; 
newcover=imread(file_name); 
A = zeros(r,c);
[m,n] = size(newcover);
i = 1;j = 1;ii = 1;jj = 1;p = c*r;
while p~=0
            A(ii,jj) = bitget(newcover(i,j),1);
            jj = jj+1;
            j = j+1;p = p-1;
            if jj == c+1
                ii = ii+1;jj = 1;
            end
            if j == n+1
                i = i+1;j = 1;
            end
end;
subplot(2,2,4),imshow(A,[]),title('提取的隐写信息图像'); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -