代码分析-基于LSB算法的QR条码数字水印

问题描述

基于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 参考文献在这里 有几种算法 我能看懂但不会实现 求大神帮忙

时间: 2025-01-21 04:14:35

代码分析-基于LSB算法的QR条码数字水印的相关文章

判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)

开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS代码: /** * 银行卡格式校验 * * @param cardNo 银行卡号 * * @return */ + (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int al

谁有基于用户的推荐系统或者协同过滤的算法和代码分析啊

问题描述 求个大数据的大神给个基于用户的推荐系统或者协同过滤的算法和代码分析啊我有部分代码但是不知道怎么在Eclipse上实现求解答啊1.publicclassAggregateAndRecommendReducerextendsReducer<VarLongWritable,VectorWritable,VarLongWritable,RecommendedItemsWritable>{...publicviodreduce(VarLongWritablekey,Iterable<Ve

【C/C++学院】0907-象棋五子棋代码分析/寻找算法以及排序算法

象棋五子棋代码分析 编译代码报错: 错误 1 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.com/fwlink/p/?LinkId=286820 for mo

算法 人脸特征点-求基于aam算法的人脸关键点提取的代码

问题描述 求基于aam算法的人脸关键点提取的代码 13年的iccv上提出的人脸关键点提取有很好的效果,然而鼻子部分的关键点缺少外部轮廓的约束,有没有成熟的算法可以对此进行改进.希望能得到专业人士的指导 解决方案 http://blog.sina.com.cn/s/blog_6138c5b80101k8w3.html 解决方案二: http://www.doc88.com/p-0867195708138.html

《高性能科学与工程计算》——3.3 案例分析:Jacobi算法

3.3 案例分析:Jacobi算法 Jacobi算法是数值分析和模拟中许多基于stencil循环方法的原型.在其最简单的形式中,可以用来求解一个标量函数Φ (r→, t)的扩散方程: 求解一个长方形区域的狄利克雷边界条件.当使用有限差分法时,其微分算子是离散的(在不丧失一般性的前提下,这里我们限定为二维方程.但请分析习题3.4中,二维和三维性能的区别). https://yqfile.alicdn.com/8804c4dad97f4db8d05562192a51a3edce664c51.png"

Alipay UED推出网站代码分析插件:Monster

Monster 是 Alipay UED 推出的网站代码分析.质量检测及评分的浏览器扩展,它能智能分析CSS.JS.HTML内容并生动形象展示网页得分情况(类似YSlow).它是一个开源项目,您可以在GoogleCode中心检出MonsterForChrome项目源代码.不久会推出Firefox版扩展. Monster主要检测规则: 检测是否有重复ID的标签: 检测是否使用内联标签嵌套块级标签,如a嵌套div: 检测https协议页面,是否使用了http协议的图片.JS.CSS等: 检测comp

基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案 郑昀 基于杨海波的设计文档(转)

郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档适用人员:技术人员 提纲: 所谓异常流量 如何识别异常流量 Apriori如何工作 如何让 Nginx 拦截可疑 IP 0x00,所谓异常流量 有害的异常流量大概分为以下几种: 僵尸网络中的节点对主站发起无目的的密集访问: 黑客.白帽子或某些安全公司为了做漏洞扫描,对主站各个 Web 工程发起字典式

免费的Lucene 原理与代码分析完整版下载

Lucene是一个基于Java的高效的全文检索库.那么什么是全文检索,为什么需要全文检索?目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结构的或者有限长度的数据,比如数据库,元数据等.非结构化数据则是不定长或者没有固定格式的数据,如图片,邮件,文档等.还有一种较少的分类为半结构化数据,如XML,HTML等,在一定程度上我们可以将其按照结构化数据来处理,也可以抽取纯文本按照非结构化数据来处理.非结构化数据又称为全文数据.,对其搜索主要有两种

AngularJS PhoneCat代码分析

AngularJS 官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些Android手机,了解它们的详细信息,并进行搜索和排序操作. 本文主要分析 AngularJS 官方网站提供的一个用于学习的示例项目 PhoneCat 的构建.测试过程以及代码的运行原理.希望能够对 PhoneCat 项目有一个更加深入全面的认识.这其中包括以下内容: 该项目如何运行起来的 该项目如何进行前端单元测试 AngularJS 相关代码分析 以下内容如有理解不正确,欢迎指正