脆弱水印提取:LH 子带水印提取函数代码
脆弱水印中 LH 子带提取水印函数代码
该函数用于从脆弱水印中提取 LH 子带的水印信息。
function rw = wm_extr_type1(loca)
[mm,nn] = size(loca);
index = 1;
%取出2*2的块
for k = 1:2:mm-1
for kk = 1:2:nn-1
tem = loca(k:k+1,kk:kk+1);
a11 = tem(1,1);
a12 = tem(1,2);
a21 = tem(2,1);
a22 = tem(2,2);
%-------a11+a21 >= a12+a22则水印为0,否则为1-------
if a11 + a21 >= a12 + a22
rw(index) = 0;
else
rw(index) = 1;
end
index = index + 1;
end
end
end
函数参数:
loca: 包含 LH 子带信息的矩阵
函数返回值:
rw: 提取的水印信息,以向量形式表示
代码说明:
- 该函数首先获取输入矩阵
loca的大小,并初始化一个索引变量index。 - 然后使用双重循环遍历
loca矩阵,每次提取 2x2 的块。 - 对每个 2x2 块,提取四个元素
a11,a12,a21,a22。 - 根据条件
a11 + a21 >= a12 + a22确定水印位为 0 或 1,并将其存储在rw向量中。 - 循环结束后,
rw向量即包含提取的水印信息。
注意:
- 该代码仅供参考,实际应用中可能需要根据具体情况进行调整。
- 为了更好的理解代码,建议参考相关的脆弱水印算法文献。
原文地址: https://www.cveoy.top/t/topic/jpxs 著作权归作者所有。请勿转载和采集!