lqlq1993 2015-04-17 03:25 采纳率: 0%
浏览 1912

基于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没接触过,求助大神帮我编写一下

  • 写回答

1条回答 默认 最新

  • lqlq1993 2015-04-17 03:47
    关注

    http://yun.baidu.com/share/link?shareid=639359257&uk=3073292981 参考文献在这里 有几种算法 我能看懂但不会实现 求大神帮忙

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?