基础LSB算法的matlab实现

编程入门 行业动态 更新时间:2024-10-26 10:27:27

LSB基础算法matlab实现

什么是LSB算法

LSB(least significant bit)翻译过来为最低有效位。
在灰度图像中,图像的灰度由八位二进制来表示即十进制中0-255,共256级别,255则为白色,反之0为黑色。自然,二进制位越靠前则对像素点灰度的影响越大,从这点出发,则考虑更改像素点灰度值最低位来隐藏信息,这样对原图像的改变比较小。

算法如下

pichide=LSB(piccover,pic2ray,M,N,m,n);%M,N为封面行列,m,n为二值图行列,将二值图隐写进封面中
subplot(1,2,1),imshow(pichide)
subplot(1,2,2),imshow(piccover); %展示封面和隐藏信息后图像的对比
picjie=(pichide,m,n);%提取出隐藏信息
 imshow(picjie);

LSB.m

function  piccover = LSB( piccover,pic2ray,M,N,m,n ) %piccover封面,pic2ray二值图,M,N封面行列,m,n二值图行列
if(m<=M&&n<=N)
    for i=1:m
        for j=1:n
            if pic2ray(i,j)==1&&mod(piccover(i,j),2)==1
                continue;
            elseif pic2ray(i,j)==1&&mod(piccover(i,j),2)==0
                piccover(i,j)=piccover(i,j)+1;
            elseif pic2ray(i,j)==0&&mod(piccover(i,j),2)==0
                continue;
            elseif pic2ray(i,j)==0 && mod(piccover(i,j),2)==1
                piccover(i,j)=piccover(i,j)-1;
            end
        end         
    end
else
    fprintf('朋友,封面大小不够唉!')
end
end

inLSB.m

function pichide = inLSB(pichide,m,n)
    for i=1:m
        for j=1:n
            if mod(pichide(i,j),2)==1
                pichide(i,j)=255;
            else
                pichide(i,j)=0;
            end
        end
    end
end

更多推荐

基础LSB算法的matlab实现

本文发布于:2023-06-13 09:29:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/678901.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:算法   基础   LSB   matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!