非线性误差是ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。以一个12位数据采集卡为例,她的采样精度为4096个点,模拟量输入范围是0~10V,那么一个点对应的模拟量是10V/4096,约等于25mV,05LSB的意思就是采集误差是25mV/2=125mV。
LSB(LeastSignificant Bits)算法:将秘密信息嵌入到载体图像像素值的最低有效位,也称最不显著位,改变这一位置对载体图像的品质影响最小。
基本原理:
对空域的LSB做替换,用来替换LSB的序列就是需要加入的水印信息、水印的数字摘要或者由水印生成的伪随机序列。由于水印信息嵌入的位置是LSB,为了满足水印的不可见性,允许嵌入的水印强度不可能太高。然而针对空域的各种处理,如游程编码前的预处理,会对不显著分量进行一定的压缩,所以LSB算法对这些操作很敏感。因此LSB算法最初是用于脆弱性水印的。
LSB算法基本步骤:
1将得到的隐藏有秘密信息的十进制像素值转换为二进制数据;
2用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位;
3将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像。
%信息嵌入Picture=imread(‘c:\\testtif’);
%读入载体图像
Double_Picture=Picture;
Double_Picture=double(Double_Picture);
%将图像转换为二进制
‘c:\\testtxt’_id=fopen(‘c:\\testtxt’,'r');
%读取秘密信息文件
[msg,len]=fread(‘c:\\testtxt’_id,'ubit1');
[m,n]=size(Double_Picture);
p=1;
%p 为秘密信息的位计数器
for f2=1:n
for f1=1:m
Double_Picture(f1,f2)=Double_Picture(f1,f2)-mod(Double_
Picture(f1,f2),2)+msg(p,1);
%将秘密信息按位隐藏入连续的像素中
if p==len
break;
end
p=p+1;
end
if p==len
break;
end
end
Double_Picture=uint8(Double_Picture);
imwrite(Double_Picture,‘c:\\resulttif’);
%生成秘密信息
subplot(121);imshow(Picture);title('未嵌入信息的');
subplot(122);imshow(Double_Picture);title('嵌入信息的');
%信息提取
Picture=imread(‘c:\\resulttif’);
%读入隐秘信息的图像
Picture=double(Picture);
[m,n]=size(Picture);
frr=fopen(‘c:\\resulttxt’,'a');
len=8;
%设定隐秘信息长度
p=1;
for f2=1:n
for f1=1:m
if bitand(Picture(f1,f2),1)==1
%顺序提取图像相应像素LSB 的秘密信息
fwrite(frr,1,'bit1');
result(p,1)=1;
else
fwrite(frr,0,'bit1');
result(p,1)=0;
end
if p==len
%判断秘密信息是否读完
break;
end
p=p+1;
end
if p==len
break;
end
end
fclose(frr);
以上就是关于0.5 LSB 的非线性度的LSB是什么意思全部的内容,包括:0.5 LSB 的非线性度的LSB是什么意思、什么是LSB算法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!