问题描述
- 基于LSB算法的QR条码数字水印
- 嵌入算法:( 1 ) 从 Q R 码图像的第 1 行像素开始 读取连续两行像素的像素值 如果相同 则向下移动一行 继续读取连续两行像素的像素值 。以此类推 当读取到两行像素 不相同时 则进入步骤( 2) 。
( 2 ) 若从步骤 ( 1) 进入( 2) 则从左到右 读取当前两行像素中 第 1 行像素的每一个像素点 当该行像素中某一个像素点满足条件 a 或者条件 b 时 见表 4 则记录该像素点的坐标( XS Y S ) 进入步骤( 3 ) 否则继续读取第 1行中的下一个像素 。 若从步骤( 4) 进入( 2) 则从步骤( 4 ) 所在的坐标位置开始 继续寻找新的坐标( X S Y S ) 然后进入步骤 ( 3) 。
( 3 ) 从步骤( 2) 中读取的像素点的位置开始 继续读取第 1 行中后面的像素 当寻找到某一个像素点满足条件c 或者条件 d 时 见表 4 则记录该像素点的坐标( XE Y E ) 并进入步骤( 4) 否则继续读取第 1 行的下一个像素点 。
( 4 ) 将待嵌入的水印信息依顺序取出2 bi t大小的信息 并根据表 3 选择对应需要修改的 LS B 值 修改坐标( XS Y S) 到坐标( XE Y E ) 上的连续 n *M 个像素的 LS B 值 。 至此 完成一次大小为2 bi t的水印嵌入 。 然后转入步骤( 2) 继续寻找该行剩余的水印嵌入位置 。 当此行像素读取完成 进入步骤( 1 ) 继续寻找可嵌入水印的像素 直到完成所有水印的嵌入 。提取算法( 1 ) 从 Q R 码图像的第 1 行像素开始 读取连续 3 行像素的像素值 当满足第 2 行和第 3 行的像素相同 而第1 行与第 2 行 、 第 3 行的像素不同时 进入步骤( 2 ) 否则向下移动一行继续读取连续 3 行的像素值 以此类推 。
( 2 ) 若从步骤( 1) 进入 则从左到右 读取当前第 1 行中的每一个像素 当第 1 行中某一个像素点是黑色像素并且满足条件 a 或者条件 b 时 或者当第 1 行中某一个像素点为非黑白色像素并且满足条件 a 或者条件 b 时 条件描述见表 4 则记录该像素点的坐标( X S Y S ) 进入步骤( 3) 否则继续读取第 1 行的下一个像素 。 若从步骤
( 4 ) 进入 则继续步骤( 4) 的坐标位置 继续寻找新的坐标 ( X S Y S) 。
( 3 ) 接着步骤( 2) 中读取的像素点位置 继续读取第 1 行中后面的像素值 当寻找到某一个像素点是黑色像素点并且满足条件 c 或者满足条件 d 时 或者是非黑白色像素点并且满足条件 c 或者条件 d 时 见表 4 则记录该像素点的坐标 ( X E Y E ) 并进入步骤( 4 ) 否则继续读取第 1 行的下一个像素 。
( 4) 读取坐标( X S Y S) 到坐标( XE Y E ) 上的连续 n *M 个像素的 LS B 值 比较选择出 n *M 个像素中重复最多的 LS B 值 。 根据表 3 输出对应的水印信息 。然后转入步骤( 2) 继续寻找该行剩余的水印 。当本行像素读取完成 进入步骤( 1) 读取下面的 3 行连续像素 直到完成所有水印信息的提取 。
求助各位大神,我matlab没接触过,求助大神帮我编写一下
解决方案
http://yun.baidu.com/share/link?shareid=639359257&uk=3073292981 参考文献在这里 有几种算法 我能看懂但不会实现 求大神帮忙