LSB算法的扩展延伸



   

        LSBLeast Significant Bit),中文译名为最低有效位,是指一个二进制数字中的最低位。LSB算法的基本思想是用待嵌入的秘密信息取代载体图像数据的LSB,构成载密图像。又因为LSB对图像的外部特征影响很小,所以人难以用肉眼看出载密图像的变化。然而,人眼不仅对LSB位不可感知,对比LSB位更高的某些位同样不可感知,这就意味着这些更高的位同样可以用来嵌入秘密信息。同时,根据人类对绿色敏感,对蓝色不敏感的特点,我们还可以在绿色分量上嵌入更少的比特信息,在蓝色分量上嵌入更多的比特信息。嵌入比特信息的多少可以用(yr,yg,yb)来衡量。这三个值通常取(4,5,3)。

   图像在matlab中表现为矩阵,矩阵的长即为图像的长,矩阵的宽即为图像的宽,图像中的每个像素点映射成矩阵中相应位置的元素,也就是数据。每个数据的大小为0~255,存于8bit的空间之内。rgb图像在matlab中表现为三层数据,对rgb图像的处理就是对着三层数据的处理传统lsb算法只在最低位嵌入数据,但是对于某些像素点,人类对某些高于lsb位的数据同样不能感知,这些位同样可以嵌入数据。其中,由于人类对rgb中的绿色敏感,而蓝色最不敏感,我们可以在蓝色分量中嵌入更多的数据。以上就是lsb拓展算法的原理。

%function firstNzreo
%第一个不是零的位置
function po=firstNzreo(y8,y7,y6,y5,y4,y3,y2,y1)
if            y8~=0  po=8;
elseif       y7~=0  po=7; 
elseif       y6~=0  po=6;
elseif       y5~=0  po=5;
elseif       y4~=0  po=4;
elseif       y3~=0  po=3;
elseif       y2~=0  po=2;
else         po=1;
    
end
%function dec2bin_z
%十进制转二进制
function [y8,y7,y6,y5,y4,y3,y2,y1]=dec2bin_z(dec)
y1=mod(dec,2); dec=(dec-y1)/2;
y2=mod(dec,2); dec=(dec-y2)/2;
y3=mod(dec,2); dec=(dec-y3)/2;
y4=mod(dec,2); dec=(dec-y4)/2;
y5=mod(dec,2); dec=(dec-y5)/2;
y6=mod(dec,2); dec=(dec-y6)/2;
y7=mod(dec,2); dec=(dec-y7)/2;
y8=mod(dec,2); 
end

                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值