Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR PROCESSING VISIBLE GRAPHIC CODE BY MOBILE TERMINAL
Document Type and Number:
WIPO Patent Application WO/2014/194825
Kind Code:
A1
Abstract:
Disclosed are a method and an apparatus for processing a visible graphic code by a mobile terminal. The method mainly comprises: monitoring the action of recording or shooting a digital image by a mobile terminal; identifying a focusing action of the mobile terminal in recording or shooting the digital image; recording the digital image acquired by the mobile terminal after the focusing action; analyzing the digital image acquired after the focusing action, to acquire a visible graphic code in the digital image; decoding the visible graphic code, and processing decoding information acquired after the decoding. The present invention can efficiently and conveniently acquire a visible graphic code in a digital image acquired after a focusing action, and therefore, the user does not need to re-install and enable visible graphic coding software, so that the visible graphic coding software does not need to adapt to mobile terminals such as various mobile communications terminals, thereby solving the problem that visible graphic code identification software lacks an automatic focusing function and easily fails to identify the visible graphic code.

Inventors:
HUANG LIQIANG (CN)
SHEN HAIYIN (CN)
SONG ZHAOCHUN (CN)
ZHAO JIANKAI (CN)
Application Number:
PCT/CN2014/079164
Publication Date:
December 11, 2014
Filing Date:
June 04, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BEIJING QIHOO TECH CO LTD (CN)
QIZHI SOFTWARE BEIJING CO LTD (CN)
International Classes:
G06K7/10
Foreign References:
CN103279730A2013-09-04
CN103366149A2013-10-23
CN101051341A2007-10-10
CN1924899A2007-03-07
CN102982302A2013-03-20
Attorney, Agent or Firm:
BEIJING BRIGHT & RIGHT LAW FIRM (CN)
北京华沛德权律师事务所 (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种移动终端处理可视化图形编码的方法, 包括:

监视移动终端摄录或拍摄数字影像的行为;

识别所述移动终端摄录或拍摄数字影像过程中的对焦动作;

记录所述移动终端完成对焦动作后获取的数字影像;

将完成对焦动作后获取的所述数字影像进行分析,获取所述数字影像中的 可视化图形编码;

对所述可视化图形编码进行解码, 将解码后获得的解码信息进行处理。

2、如权利要求 1所述的方法, 所述监视移动终端摄录或拍摄数字影像的行 为, 包括:

监视移动终端是否启动摄录或拍摄的任务; 和 /或, 监视移动终端进行摄 录或拍摄的过程。

3、如权利要求 1所述的方法, 所述识别移动终端摄录或拍摄数字影像过程 中的对焦动作包括:

识别所述摄录或拍摄数字影像过程中是否出现对焦动作的标识事件,如果 出现, 则确定所述移动终端摄录或拍摄数字影像过程中产生对焦动作;

或,

识别所述摄录或拍摄数字影像过程中是否接收到用户确认的对焦信息,如 接收到, 则确定所述移动终端摄录或拍摄数字影像过程中产生对焦动作。

4、 如权利要求 1所述的方法, 所述对焦动作包括: 对指定对焦点的对焦, 或者, 自动对焦。

5、如权利要求 1所述的方法, 所述记录移动终端完成对焦动作后获取的数 字影像包括:

通知摄录或拍摄设备对对焦动作完成后的对象进行摄录或拍摄,并存储对 应的数字影像;

或者,

将摄录或拍摄设备完成对焦动作后得到的数字影像进行存储;

或者,

抓取摄录或拍摄设备屏幕中完成对焦动作后的数字影像, 并存储。

6、 如权利要求 1所述的方法, 所述数字影像包括图片或视频。

7、如权利要求 1所述的方法, 所述将完成对焦动作后获取的所述数字影像 进行分析, 获取所述数字影像中的可视化图形编码, 包括:

检测所述完成对焦动作后获取的数字影像中是否存在可视化图形编码的 定位图形; 如果存在,则根据所述定位图形的位置信息获取所述可视化图形编码的位 置信息;

根据所述可视化图形编码的位置信息,从所述数字影像中提取所述可视化 图形编码。

8、 如权利要求 7所述的方法, 当所述数字影像是视频时, 所述将完成对焦 动作后获取的所述数字影像信息进行分析还包括:对所述完成对焦动作后获取 的视频进行解析, 获得解析后的视频帧;

所述获取数字影像中的可视化图形编码具体是从所述解析后的若干视频 帧中提取可视化图形编码。

9、 如权利要求 1至 8任一项所述的方法, 所述对所述可视化图形编码进行 解码, 将解码后获得的解码信息进行处理, 包括:

所述可视化图形编码进行解码, 获得解码后的解码信息;

对所述解码信息进行分类, 按照解码信息的分类执行对解码信息的处理。

10、 一种移动终端处理可视化图形编码的装置, 包括:

监视模块, 被配置为监视移动终端摄录或拍摄数字影像的行为;

识别模块,被配置为识别所述移动终端摄录或拍摄数字影像过程中的对焦 动作;

记录模块, 被配置为记录所述移动终端完成对焦动作后获取的数字影像; 分析模块,被配置为将完成对焦动作后获取的所述数字影像进行分析,获 取所述数字影像中的可视化图形编码;

处理模块,被配置为对所述可视化图形编码进行解码,将解码后获得的解 码信息进行处理。

11、 如权利要求 10所述的装置, 所述的监视模块, 被配置为监视移动终端 是否启动摄录或拍摄的任务; 和 /或, 监视移动终端进行摄录或拍摄的过程。

12、 如权利要求 10所述的装置, 所述的识别模块, 被配置为识别所述摄录 或拍摄数字影像过程中是否出现对焦动作的标识事件,如果出现, 则确定所述 移动终端摄录或拍摄数字影像过程中产生对焦动作;

或,

识别所述摄录或拍摄数字影像过程中是否接收到用户确认的对焦信息,如 接收到, 则确定所述移动终端摄录或拍摄数字影像过程中产生对焦动作。

1 3、如权利要求 10所述的装置,所述对焦动作包括:对指定对焦点的对焦, 或者, 自动对焦。

14、 如权利要求 10所述的装置, 所述记录模块, 被配置为通知摄录或拍摄 设备对对焦动作完成后的对象进行摄录或拍摄, 并存储对应的数字影像; 或者,

将摄录或拍摄设备完成对焦动作后得到的数字影像进行存储;

或者,

抓取摄录或拍摄设备屏幕中完成对焦动作后的数字影像, 并存储。

15、 如权利要求 10所述的装置, 所述数字影像包括图片或视频。

16、 如权利要求 10所述的装置, 所述分析模块, 被配置为检测所述完成对 焦动作后获取的数字影像中是否存在可视化图形编码的定位图形;

如果存在,则根据所述定位图形的位置信息获取所述可视化图形编码的位 置信息;

根据所述可视化图形编码的位置信息,从所述数字影像中提取所述可视化 图形编码。

17、 如权利要求 16所述的装置, 所述分析模块, 被配置为对所述完成对焦 动作后获取的视频进行解析, 获得解析后的视频帧;

所述获取数字影像中的可视化图形编码具体是从所述解析后的若干视频 帧中提取可视化图形编码。

18、 如权利要求 10至 17任一项所述的装置, 所述处理模块, 被配置为对所 述可视化图形编码进行解码, 获得解码后的解码信息; 对所述解码信息进行分 类, 按照解码信息的分类执行对解码信息的处理。

19、 一种计算机程序, 包括计算机可读代码, 当智能电子设备运行所述计 算机可读代码运行时, 导致权利要求 1-9中的任一项权利要求所述的方法被执 行。

20、 一种计算机可读介质, 其中存储了如权利要求 19所述的计算机程序。

Description:
移动终端处理可视化图形编码的方法和装置 技术领域

本发明涉及可视化图形编码技术领域,具体涉 及一种移动终端处理可视化 图形编码的方法和装置。 背景技术

二维码属于可视化图形编码中的一种,它是用 某种特定的几何图形按一定 规律在平面(二维方向上)分布的黑白相间的 图形记录数据符号信息的, 在代 码编制上巧妙地利用构成计算机内部逻辑基础 的 "0" 、 "1" 比特流的概念, 使用若干个与二进制相对应的几何形体来表示 文字数值信息,通过图象输入设 备或光电扫描设备自动识读以实现信息自动处 理。

二维码可以存储各种信息, 主要包括: 网址、 名片、 文本信息、 特定代码 等,二维码作为一种新的信息记录方式与便捷 的网络门户,逐渐得到广泛的应 用。

目前,现有技术中的一种通过手机等移动终端 获取二维码信息的方法主要 包括: 手机等移动终端从网络上下载并安装一个二维 码的识别软件,在遇到包 含二维码信息的图片时, 打开上述手机等移动终端中的上述二维码的识 别软 件, 然后, 把图片中的二维码放在上述识别软件的二维码 扫描区域内, 通过上 述识别软件获取上述图片中的二维码信息。

上述现有技术中的一种通过手机等移动终端获 取二维码信息的方法的缺 点为: 该方法需要人们在识别二维码图片时,在手机 等移动终端上下载并安装 二维码识别软件,操作过程复杂。 该方法需要把图片中的二维码放在上述识别 软件的二维码扫描区域内, 并对图片中的二维码进行对焦, 由于 ^艮多二维码的 识别软件缺乏自动对焦功能, 该方法中的二维码的识别操作容易失败。 发明内容

鉴于上述问题,提出了本发明以便提供一种克 服上述问题或者至少部分地 解决上述问题的移动终端处理可视化图形编码 的方法和相应的移动终端处理 可视化图形编码的装置。

依据本发明的一个方面, 提供了一种移动终端处理可视化图形编码的方 法, 包括:

监视移动终端摄录或拍摄数字影像的行为;

识别所述移动终端摄录或拍摄数字影像过程中 的对焦动作; 记录所述移动终端完成对焦动作后获取的数字 影像;

将完成对焦动作后获取的所述数字影像进行分 析,获取所述数字影像中的 可视化图形编码;

对所述可视化图形编码进行解码, 将解码后获得的解码信息进行处理。 根据本发明的另一方面, 提供了一种移动终端处理可视化图形编码的装 置, 包括:

监视模块, 被配置为监视移动终端摄录或拍摄数字影像的 行为;

识别模块,被配置为识别所述移动终端摄录或 拍摄数字影像过程中的对焦 动作;

记录模块, 被配置为记录所述移动终端完成对焦动作后获 取的数字影像; 分析模块,被配置为将完成对焦动作后获取的 所述数字影像进行分析,获 取所述数字影像中的可视化图形编码;

处理模块,被配置为对所述可视化图形编码进 行解码,将解码后获得的解 码信息进行处理。

根据本发明的上述技术方案,可以通过监视和 识别移动终端摄录或拍摄数 字影像过程中的对焦动作,对移动终端完成对 焦动作后获取的数字影像进行记 录和分析,从而可以高效、方便地获取和处理 对焦动作所对应得到的数字影像 中的可视化图形编码。 本申请避免了用户可视化图形编码解码操作繁 瑣的缺 点,提供了一种快速高效的方式实现自动识别 并解码数字影像中的可视化图形 编码的方案,简化了用户需要打开专门的软件 并由用户手工对可视化图形编码 拍照的动作。 同时, 本申请还针对对可视化图形编码的识别操作容 易失败等问 题进行了改进,使其通过对对焦动作后获取的 清晰影像进行处理,提取可视化 图形编码, 从而增加了可视化图形编码的识别率和准确率 。

上述说明仅是本发明技术方案的概述,为了能 够更清楚了解本发明的技术 手段,而可依照说明书的内容予以实施,并且 为了让本发明的上述和其它目的、 特征和优点能够更明显易懂, 以下特举本发明的具体实施方式。 附图说明

通过阅读下文优选实施方式的详细描述,各种 其他的优点和益处对于本领 域普通技术人员将变得清楚明了。 附图仅用于示出优选实施方式的目的, 而并 不认为是对本发明的限制。 而且在整个附图中, 用相同的参考符号表示相同的 部件。 在附图中:

图 1示出了根据本发明实施例一的一种移动终端 理可视化图形编码的方 法的处理流程图; 图 2示出了才艮据本发明实施例二的一种移动通 终端处理二维码的方法的 处理流程图;

图 3示出了才艮据本发明实施例二的一种二维码 范例示意图;

图 4示出了根据本发明实施例二的一种定位图形 模块序列示意图; 图 5示出了根据本发明实施例二的一种确定位置 测区域的中心点的坐标 的方法的原理示意图;

图 6示出了根据本发明实施例二的一种确定二维 图像的方向的原理示意 图;

图 7示出了根据本发明实施例三的一种移动终端 理可视化图形编码的装 置的具体结构示意图;

图 8示出了才艮据本发明实施例四的一种移动通 终端处理二维码信息的装 置的具体结构示意图;

图 9示出了用于执行根据本发明的方法的智能电 设备的框图; 以及 图 10示出了用于保持或者携带实现根据本发明的 法的程序代码的存储 单元示意图。 具体实施方式

下面将参照附图更详细地描述本公开的示例性 实施例。虽然附图中显示了 本公开的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被 这里阐述的实施例所限制。相反,提供这些实 施例是为了能够更透彻地理解本 公开, 并且能够将本公开的范围完整的传达给本领域 的技术人员。

实施例一

该实施例提供的一种移动终端处理可视化图形 编码的方法的处理流程如 图 1所示, 包括如下的处理步骤:

S10 , 监视移动终端摄录或拍摄数字影像的行为;

监视移动终端是否启动摄录或拍摄的任务; 和 /或, 监视移动终端进行摄 录或拍摄的过程。

比如拍摄设备对应的应用程序打开运行;或者 拍摄对象对应的存储空间有 了变化(比如某个视频文件的大小正在变化, 则说明可能正在录像)等等。

上述的数字影像可以包括视频或图片, 其中,视频可以是完成对焦后录制 的预定时间长度的视频。

S12 , 识别所述移动终端摄录或拍摄数字影像过程中 的对焦动作; 上述对焦动作可以包括: 对指定对焦点的对焦行为; 或者, 自动对焦。 完 成对焦动作可以是移动终端完成摄录或拍摄数 字影像的程序自动认定的,也可 以是用户人工确认的, 另外, "完成对焦动作后" 包括完成对焦动作的同时。 识别所述摄录或拍摄数字影像过程中是否出现 对焦动作的标识事件,如果 出现, 则确定所述移动终端摄录或拍摄数字影像过程 中产生对焦动作。上述标 识事件可以为拍摄软件中代表已对焦成功的声 音标识,或者屏幕上出现的图形 标识等等

或,

识别所述摄录或拍摄数字影像过程中是否接收 到用户确认的对焦信息,如 接收到, 则确定所述移动终端摄录或拍摄数字影像过程 中产生对焦动作。

S14 , 记录所述移动终端完成对焦动作后获取的数字 影像;

通知摄录或拍摄设备对对焦动作完成后的对象 进行摄录或拍摄,并存储对 应的数字影像;

或者,

将摄录或拍摄设备完成对焦动作后得到的数字 影像进行存储;

或者,

抓取摄录或拍摄设备屏幕中完成对焦动作后的 数字影像, 并存储。

S16 , 将完成对焦动作后获取的所述数字影像进行分 析, 获取所述数字影 像中的可视化图形编码。

上述可视化图形编码可以包括二维码、 条形码等。

检测所述完成对焦动作后获取的数字影像中是 否存在可视化图形编码的 定位图形;

如果存在,则根据所述定位图形的位置信息获 取所述可视化图形编码的位 置信息;

根据所述可视化图形编码的位置信息,从所述 数字影像中提取所述可视化 图形编码。

上述分析过程可以在移动终端侧来完成, 也可以在服务器侧来完成。 当所述数字影像是视频时,所述将完成对焦动 作后获取的所述数字影像信 息进行分析还包括: 对所述完成对焦动作后获取的视频进行解析, 获得解析后 的视频帧; 将视频数据流发到服务器时, 可以全部录制完一起传输, 也可以边 录制边传输。

所述获取数字影像中的可视化图形编码具体是 从所述解析后的若干视频 帧中提取可视化图形编码。

S18 , 对所述可视化图形编码进行解码, 将解码后获得的解码信息进行处 理。

所述可视化图形编码进行解码, 获得解码后的解码信息; 对所述解码信息进行分类, 按照解码信息的分类执行对解码信息的处理。 按照所述解码信息的分类和 /或按照所述解码信息调取对应的程序执行对 解码信息的处理。 具体处理过程可以包括:

将所述解码信息通过所述移动终端的显示窗口 进行展示。

将所述解码信息存储在所述移动终端的指定数 据库中。

将所述解码信息通过所述移动终端自带的应用 程序或者外部的应用程序 进行处理。

将所述解码信息发生到服务器,接收所述服务 器返回的所述解码信息的安 全认证结果。

当所述解码信息的类别为商品信息时,将所述 商品的条码信息发送到服务 器, 当接收到所述服务器返回的所述商品的安全认 证信息后,通过显示窗口将 所述商品的基本信息和安全认证信息进行显示 。

当所述解码信息的类别为 URL信息时, 所述移动终端将所述网址信息发送 到服务器, 以使得所述服务器通过网盾技术, 检测所述 URL信息是否经过安全 认证, 当接收到所述服务器返回的所述 URL信息经过了安全认证的信息时, 通 过浏览器打开所述网址; 当接收到所述服务器返回的所述 URL信息没有经过安 全认证的信息时, 不打开所述 URL信息;

当所述解码信息的类别为名片信息时,所述移 动终端判断其内部保存的通 讯录中是否包含所述名片中能够的联系人信息 ,如果是, 则不在所述通讯录中 添加所述联系人信息; 否则, 获取所述联系人信息中包括的各种基本信息, 在 所述通讯录中一键添加所述各种基本信息;

将所述联系人信息发送到服务器,以使得所述 服务器根据所述联系人信息 通过互联网获取所述联系人的名片之外的其它 相关信息,接收到所述服务器返 回的所述其它相关信息后,通过显示窗口将所 述联系人的基本信息和其它相关 信息进行显示。

当从所述解码信息中获取文本信息时, 所述移动终端调取文本编辑器, 并 用文本编辑器打开所述文本信息;

当从所述解码信息中获取 Wif i信息时,所述移动终端调取系统的 wi f i连接 程序, 利用所述 w i f i信息中提供的内容与指定 w i f i热点进行连接;

当从所述解码信息中获取电话号码时, 所述移动终端调取拨号程序, 并在 号码输入框中填写所述电话号码;

当从所述解码信息中获取短信信息时, 所述移动终端调取短信管理程序, 在发短信的收件人和短信内容位置上填写所述 短信信息的相应内容;

当从所述解码信息中获取邮件信息时, 所述移动终端调取邮件管理程序, 在收件人和邮件内容位置上填写所述邮件信息 的相应内容。 实施例二

打开手机中的照相机, 对二维码进行拍照, 手机进行自动识别, 并进行后 续的处理, 这是最为符合用户习惯的操作。 本发明基于上述用户习惯的操作, 提出了一种移动终端处理可视化图形编码的方 法,在上述移动终端中设置有二 维码识别设备和拍摄设备, 上述二维码识别设备对上述拍摄设备进行监控 。

上述移动终端可以包括移动通信终端或平板电 脑或数码照相机等,下面以 上述移动终端为移动通信终端,上述可视化图 形编码为二维码为例来描述本发 明。

上述移动通信终端处理二维码的方法的处理步 骤的如图 2所示, 包括如下 的处理步骤:

步骤 S20、拍摄设备进行拍照得到图片,二维码识别 设备监控到上述图片。 移动通信终端中的上述拍摄设备和二维码识别 设备都开启, 同时,二维码 识别设备启动对上述拍摄设备的监控。在本发 明中, 上述二维码识别设备可以 釆用如下的三种监控方式中的一种监控方式对 上述拍摄设备进行监控:

监控方式 1: 二维码识别设备对拍摄设备对应的图片文件的 存储地址进行 实时监控, 当监控到上述存储地址中增加了一个新的图片 文件后, 将上述新的 图片文件作为监控到的图片文件。

对于基于 Linux内核的嵌入式操作系统 Android来说,应用层都可以监控到 施加在文件系统的操作, 这是 Linux内核所具有的(当然其它操作系统也具有 API ( Appl ica t ionProgramming Interface , 应用程序编程接口) 不同而已) , 例如读、 写、 创建文件等等。

上述二维码识别设备通过操作系统提供的 API, 直接监听文件系统的读写 事件。 当拍摄设备成功拍摄到照片时, 照相机会产生一个照片文件并将照片文 件存储在拍摄设备对应的图片文件的存储地址 中, 上述二维码识别设备通过 AP I监控到上述照片文件。

对比轮询方式而言,该监控方式的优点是明显 的。一是当没有拍照产生时, 不会消耗 CPU资源, 比较节省 CPU资源。 其二是实时性相对比较好, 当事件发生 时, 可以在毫秒级别收到通知。 对于轮询方式而言, 如果周期 4艮短, 比如 100 毫秒, 则对 CPU消费很大, 如果过长, 比如 3秒, 延时效果比较明显。

该实施例提供的该监控方式对应的一种代码如 下:

F i le target = Envi ronment. DIRECTORY-DCIM;

Fi le di r = Environment. getExternalStoragePubl icDi rectory (target);

int flags = Fi leObserver. CLOSE-WRITE;

LocalFi leObserver ob = new Loca lFi leObserver (path lags);

ob. s tar tWatching ();

class LocalFi leObserver extends Fi leObserver {

SOverr ide

public void onEvent (int event, String path) {

II 处理

监控方式 2: 二维码识别设备对移动终端的系统活动进行实 时监控, 当监 控到拍摄设备完成了从启动、拍照到存储图片 文件的活动过程后, 将拍摄设备 最新存储的图片文件作为监控到的图片文件。

对 Android操作系统而言, 有一个系统组件 Activity管理器。 Activity管 理器管理着所有活动的 Activity (即系统中的图形用户界面也即 GUI元素) , 系统照相机的拍照活动也是一个独立的 Act ivi ty。

当任何一个 Ac t i V i ty启动或者关闭时, Ac t i v i ty管理器会向所有注册到 Ac t i v i t y管理器的观察者发送通知。其中通知内容包 Ac t i V i t y的启动,停止, 变化等。

上述二维码识别设备作为观察者注册到 Ac t i V i ty管理器, 接收 Ac tivity 管理器发送的所有 Activity的通知事件。上述二维码识别设备根据 收到的所 有 Act ivi ty的通知事件来判断系统照相机完成了从启动 拍照到存储图片文件 的活动过程。

该实施例提供的该监控方式对应的一种代码如 下:

Class<?> amnClass =

Class, f orName ("android, app. Act ivi tyManagerNat ive");

Object amnOb ject = amnClass. getMethod ("getDefault") . invoke (null);

if (register) {

Class<?> c = IAct ivi tyWatcher. class;

Method m = amnClass. getMethod ("regis ter Act ivi tyWatcher", c);

m. invoke (amnOb ject, watcher); private final Callback watcher = new Callback () { SOverr ide

public void onTopAct ivi tyChanged (ComponentName cn) { if (CameraUtils. isCameraUI (cn) ) {

II 处理

监控方式 3、 二维码识别设备对拍摄设备的显示屏幕进行实 时监控, 当监 控到拍摄设备的显示屏幕开启,并且上述显示 屏幕中的图片保持了设定的时长 (比如 5秒)后, 将上述显示屏幕中的图片为监控到的图片文件 。 该监控方式 可以在用户还未直接拍照生成照片时, 即可识别出二维码照片。

对于基于 Linux内核的 Android系统而言,屏幕显示设备具有一个位图 緩 冲区。 这个緩冲区对于具有 root (最高权限)权限的应用是开放的。

上述二维码识别设备通过用户授予的方式,获 取到 root权限,进而通过 API 读取屏幕设备緩冲区。 具体方法是: 通过设备文件 fbO获取到文件号, 然后再 通过 f cnt 1系统调用获取拍摄设备的显示屏幕的尺寸和 图深度信息, 通过上 述尺寸和位图深度信息, 将显示屏幕的每一行像素读取出来。

该实施例提供的该监控方式对应的一种代码如 下:

FILE* fb.in;

int fb;

struct f b-var_screeninf o vinf o; char imgbuf [0x10000];

unsigned int r, rowlen;

unsigned int bytespp;

II 打开屏幕设备

f b- in = fopen ("/dev/graphics/fbO

fb = f i leno (f b_ in);

f b_ in = f dopen (f b, "r");

// 读取屏幕尺寸和像素信息 if (ioct l (fb, FBIOGET—VSCREENINFO, &v info) < 0) {

return; fcnt l (fb, F-SETFD, FD_CLOEXEC); by tespp = vinfo. bi t s _per_pixe l / 8;

rowlen = vinfo. xres * bytespp;

f or (r=0; r<vinf o. yres; r++) {

II 读取一行像素

int len = f read (imgbuf , 1, rowlen, f b_ in); if (len <= 0) break;

II 记录一行图片 Raw数据 f c lose (f b_ in); 拍摄设备对图片进行对焦,对焦确定后对图片 进行拍照。上述二维码识别 设备根据上述三种监控方式中的一种监控方式 监控到上述拍摄设备刚刚拍照 的图片。

步骤 S22、 上述二维码识别设备根据预先设定的二维码的 定位图形的位置 和图形特征信息对上述图片进行二维码识别处 理,判断上述图片中是否存在二 维码的定位图形, 如果是, 则执行步骤 S24; 否则, 则执行步骤 S26。

上述二维码识别设备对所述图片进行预处理得 到上述图片的二值化图片, 该预处理包括对上述图片进行解码和格式转换 ,将上述图片转换成无压缩格式 的灰度图片,再对上述灰度图片进行除噪处理 和二值化处理,得到二值化图片。 灰度图片的二值化处理就是将图片上的点的灰 度置为 0或 255,也就是讲整个图 片呈现出明显的黑白效果。 即将 256个亮度等级的灰度图片通过适当的阀值选 取而获得仍然可以反映图片整体和局部特征的 二值化图片。上述二值化处理可 以减少上述图片中的不必要的元素,有利于二 维码的识别,二值化处理的方法 可以釆用自适应亮度法等。

如图 3所示, 在二维码的左上角、 右上角、 左下角处有 3个相同的用于位置 定位的定位图形, 每个定位图形可以看作是由 3个重叠的同心正方形组成, 每 个定位图形的模块序列示意图如图 4所示, 由一个深色 -浅色 -深色 -浅色 -深色 次序构成, 分别为 7 7个深色模块、 5 5个浅色模块和 3 3个深色模块, 各模 块相对宽度的比例是 1: 1 : 3: 1: 1,模块的宽度允许偏差为 0. 5 (即单个模块的方 块的尺寸允许范围为 0.5~1.5, 3个模块宽度的方块的宽度允许尺寸范围为 2.5 ~ 3.5 ) 。

二维码识别设备对上述二值化图片进行水平和 垂直方向的检测,根据上述 二维码中的 3个定位图形的位置和图形特征信息, 检测所述二值化图片中是否 存在上述二维码的 3个定位图形,如果是,则执行步骤 S24;否则,执行步骤 S26。

步骤 S 24、二维码识别设备对二值化图片中的二维码 定位图形进行定位, 才艮据定位后的定位图形确定二值化图片中的 二维码的位置和方向,得到二维码 图片。

上述二维码识别设备获取上述二值化图片中的 3个位置探测区域, 对上述 二维码的 3个定位图形进行定位, 并标注上述 3个位置探测区域的中心点的坐 标。 确定位置探测区域的中心点的坐标的方法的原 理示意图如图 5所示, 具体 过程如下: 针对上述每个位置探测区域中的最内层的正方 形,在水平方向记录 该正方形最外层的像素线,在垂直方向记录该 正方形最外层的像素线,得到四 条直线, 取上述四条直线所围成的矩形的中心为定位图 形的中心点。

利用上述处理过程可以分别获取 3个定位图形的中心点的坐标, 在对定位 图形定位后, 才艮据 3个定位图形的中心点的坐标通过计算可以得 二维码图片 的中心点的坐标。 确定二维码图片的方向的原理示意图如图 6所示, 才艮据 3个 定位图形中心点的连线的水平、垂直方向的偏 转角度可以确定二维码的偏转角 度, 从而确定二维码图片的方向。 若二维码图片有几何上的形变, 可以利用双 线性变换插值法, 对二维码图片进行几何旋转矫正。

根据所述二维码图片的中心点的坐标和所述二 维码图片的方向,从所述图 片中提取出二维码图片。

该实施例提供的一种对上述图片进行格式转换 的部分代码示例如下:

final Bi tmapFactory. Options opt ions = new Bi tmapFactory. Options ();

opt ions. inJus tDecodeBounds = true;

Bi tmapFactory. decodeFi le (f i lePath, opt ions); final int heightRatio = Math, round ( (float) height / (float) reqHeight);

final int widthRatio = Math, round ( (float) width / (float) reqWidth);

inSampleSize = heightRatio < widthRatio ? heightRatio : widthRat io; opt ions. inJus tDecodeBounds = false;

return Bi tmapFactory. decodeFile (f ilePath, opt ions); 本领域的技术人员应该可以理解,上述定位图 形位于二维码的左上角、右 上角、 左下角处仅为示例, 在实际应用中, 上述定位图形也可以设置在二维码 图形中的其它位置。本发明并不局限上述定位 图形在二维码图形中的具体设置 方式, 上述定位图形在二维码图片中的任何设置方式 都在本发明的保护范围 中。

步骤 S28、 上述二维码识别设备从上述二维码图片中提取 出二维码信息, 通过内容解析器对上述二维码信息的码流进行 解析, 获取其中包含的名字、 网 址、 电话和公司等用户信息。

该实施例提供的对上述二维码信息的码流进行 解析的部分代码如下: private static final Pattern BEGIN-VCARD = Pattern. compi le ("BEGIN: VCARD", Pattern. CASE—INSENSITIVE);

String rawText = getMassagedText (result);

II检测是否 VCARD前缀

Matcher m = BEGIN-VCARD. matcher (rawText);

if (m == null) {

return;

}

II 匹配名字

List<List<String>> names = matchVCardPref ixedField ("FN", rawText, true, false) ;

if (names == null) {

names = matchVCardPref ixedField ("N", rawText, true, false) ; f ormatNames (names);

II 匹配电话

List<List<String>> phoneNumbers = matchVCardPref ixedField ("TEL", rawText, true, false) ;

II 匹配电话

List<List<String» emails = matchVCardPref ixedField (" EMAIL", rawText, true, false) ;

II 匹配地址 List<List<String>> addresses = matchVCardPref ixedField ("ADR" rawText, true, true);

II 匹配公司

List<String> org = ma tchSingleVCardPref ixedField ("ORG", rawText true, true); 将上述解析出的二维码信息中的用户信息通过 显示窗口进行显示,上述显 示窗口可以为上述移动通信终端的显示屏或者 另外的悬浮窗口等。

该实施例提供的一种启动悬浮窗口的部分代码 如下:

int type = WindowManager. LayoutParams. TYPE-PHONE; int flags =

WindowManager. LayoutParams. FLAG_N0T_T0UCH_M0DAL;

int format = PixelFormat. RGBA_8888;

wml = new WindowManager. LayoutParams (type, flags, format);

String svc = Context. WINDOW-SERVICE;

WindowManager wm

Lger) ctx. getSys temService (svc);

wm. addView (view, wml );

启动窗口时, 会有一个自上而下的展示动画

Trans la teAnimat ion animation new Trans la teAnimat ion (0, 0, -wmlp. height, 0);

animation. setDurat ion (300);

v. s tar tAnimat ion (animation); 比如,现在已有很多名片上印有二维码,就可 以利用本发明通过手机相机 来拍名片二维码,识别出来的名片信息显示在 手机相机上, 一键即可保存到手 机联系人中。

流程结束。

步骤 S26、 上述二维码识别设备判断上述二值化图片中没 有包含二维码信 息, 流程结束。

在实际应用中, 上述二维码识别设备可以根据需要人工关闭; 或者, 上述 二维码识别设备监控到上述移动通信终端的存 储卡已经拔出,以及屏幕背景已 经关闭的情况下, 自动关闭监控程序, 避免不必要的资源消耗, 提高移动通信 终端的续航能力。

该实施例提供的一种上述二维码识别设备自动 关闭监控程序的代码示例 ^口下:

II 事件监听: Result事件、 联系人请求事件

IntentFi 1 ter filter = new IntentFi 1 ter (); filter. addAction (Intent. ACTION—MEDIA—MOUNTED);

filter. addAction (Intent. ACTION—MEDIA—UNMOUNTED);

filter. addAction (Intent. ACTION-SCREEN-OFF); filter. addAction (Intent. ACTION-SCREEN-ON); register Receiver (mReceiver, filter) ;

SOverr ide

public void onReceive (Context context, Intent intent) if (LOGD-ENABLED) {

Log. d (TAG, "onReceive: act ion=" intent, get Act ion () );

(Intent. ACTION_MEDIA_MOUNTED. equals (intent. getAction () ) )

mCameraMoni tor. start ();

} else

(Intent. ACTION_MEDIA_UNMOUNTED. equals (intent. getAction

mCameraMoni tor. s top () ;

} else

(Intent. ACTION-SCREEN-OFF. equals (intent. getAction ())) {

mCameraMoni tor. start ();

} else

(Intent. ACTION-SCREEN-ON. equals (intent. getAct ion () ) ) {

mCameraMoni tor. s top () ; 本领域技术人员应能理解上述移动通信终端或 平板电脑或数码照相机等 移动终端的应用类型仅为举例,其他现有的或 今后可能出现的移动终端的应用 类型如可适用于本发明实施例,也应包含在本 发明保护范围以内, 并在此以引 用方式包含于此。

该实施例在移动终端中设置二维码识别设备和 拍摄设备,通过利用二维码 识别设备对拍摄设备拍照得到的图片进行监控 ,并对上述图片进行二维码识别 处理,将识别出的二维码信息进行显示。从而 实现了人们通过移动终端中的拍 摄设备拍摄图片时, 即可快速识别出来照片中包含的二维码信息, 并显示在移 动终端的显示屏上。本发明具有操作方便简单 ,二维码识别率高,纠错能力强, 适用性强等特性。

实施例三

该实施例提供了一种移动终端处理可视化图形 编码的装置,该装置的具体 结构如图 7所示, 包括:

监视模块 700, 被配置为监视移动终端摄录或拍摄数字影像的 行为; 识别模块 71 0, 被配置为识别所述移动终端摄录或拍摄数字影 像过程中的 对焦动作;

记录模块 720, 被配置为记录所述移动终端完成对焦动作后获 取的数字影 像;

分析模块 730,被配置为将完成对焦动作后获取的所述数 字影像进行分析, 获取所述数字影像中的可视化图形编码;

处理模块 740, 被配置为对所述可视化图形编码进行解码, 将解码后获得 的解码信息进行处理。

具体的, 所述的监视模块 700, 具体被配置为监视移动终端是否启动摄录 或拍摄的任务; 和 /或, 监视移动终端进行摄录或拍摄的过程。

所述的识别模块 71 0, 被配置为识别所述摄录或拍摄数字影像过程中 是否 出现对焦动作的标识事件,如果出现, 则确定所述移动终端摄录或拍摄数字影 像过程中产生对焦动作;

或,

识别所述摄录或拍摄数字影像过程中是否接收 到用户确认的对焦信息,如 接收到, 则确定所述移动终端摄录或拍摄数字影像过程 中产生对焦动作。

所述对焦动作包括: 对指定对焦点的对焦, 或者, 自动对焦。

所述记录模块 720, 被配置为通知摄录或拍摄设备对对焦动作完成 后的对 象进行摄录或拍摄, 并存储对应的数字影像;

或者,

将摄录或拍摄设备完成对焦动作后得到的数字 影像进行存储;

或者, 抓取摄录或拍摄设备屏幕中完成对焦动作后的 数字影像, 并存储。

所述数字影像包括图片或视频。

所述分析模块 730, 被配置为检测所述完成对焦动作后获取的数字 影像中 是否存在可视化图形编码的定位图形;

如果存在,则根据所述定位图形的位置信息获 取所述可视化图形编码的位 置信息;

根据所述可视化图形编码的位置信息,从所述 数字影像中提取所述可视化 图形编码。

所述分析模块 7 30,被配置为对所述完成对焦动作后获取的视 进行解析, 获得解析后的视频帧;

所述获取数字影像中的可视化图形编码具体是 从所述解析后的若干视频 帧中提取可视化图形编码。

所述处理模块 740, 被配置为对所述可视化图形编码进行解码, 获得解码 后的解码信息; 对所述解码信息进行分类,按照解码信息的分 类执行对解码信 息的处理。 实施例四

该实施例提供了一种移动通信终端处理二维码 信息的装置,该装置设置在 移动通信终端中,其具体结构示意图如图 8所示, 包括: 拍摄设备 800、 二维码 识别设备 81 0、 显示设备 820和存储设备 830。

所述的拍摄设备 800, 被配置为和所述二维码识别设备 62连接, 进行拍照 得到图片;

所述的二维码识别设备 81 0, 被配置为监控到所述图片, 根据预先设定的 二维码的定位图形对所述图片进行二维码识别 处理;当识别到所述图片信息中 包含二维码信息时, 将所述二维码信息发送给所述显示设备 820 ;

所述的显示设备 820,被配置为将所述二维码信息通过显示窗口 进行显示。 所述的存储设备 830, 被配置为存储所述拍摄设备得到的所述图片信 息和 所述二维码识别设备所获取的二维码信息。

具体的, 所述的二维码识别设备 81 0, 具体被配置为对拍摄设备对应的图 片文件的存储地址进行实时监控,当监控到上 述存储地址中增加了一个新的图 片文件后, 将所述新的图片文件作为监控到的图片文件;

或者,

具体被配置为对移动终端的系统活动进行实时 监控,当监控到拍摄设备 61 完成了从启动、拍照到存储图片文件的活动过 程后,将拍摄设备 61最新存储的 图片文件作为监控到的图片文件;

或者,

具体被配置为对拍摄设备的显示屏幕进行实时 监控,当监控到拍摄设备的 显示屏幕开启, 并且上述显示屏幕中的图片保持了设定的时长 后, 将所述显示 屏幕中的图片为监控到的图片文件。

具体的, 所述的二维码识别设备 81 0, 具体被配置为对所述图片进行预处 理得到所述图片的二值化图片,所述预处理包 括将所述图片转换成无压缩格式 的灰度图片, 对所述灰度图片进行除噪处理和二值化处理;

根据预先设定的二维码的定位图形的位置和图 形特征信息,检测所述二值 化图片中是否存在二维码的定位图形, 如果是, 对所述二值化图片中的二维码 的定位图形进行定位,根据定位后的定位图形 确定所述图片中的二维码的位置 和方向, 得到二维码图片, 从所述二维码图片中提取出二维码信息; 否则, 判 断所述图片中没有包含二维码图片。

具体的, 所述的二维码识别设备 81 0, 具体被配置为对所述二值化图片进 行水平和垂直方向的检测, 根据设定的二维码的左上角、 右上角和左下角的 3 个定位图形的位置和图形特征信息,检测所述 二值化图片中是否存在所述二维 码的 3个定位图形, 如果是, 获取所述图片中的 3个位置探测区域, 并标注所述 3个位置探测区域的中心点的坐标;

根据所述 3个位置探测区域的位置和中心点的坐标通过 算得到二维码图 片的中心点的坐标, 根据所述 3个定位图形的中心点的连线的水平、 垂直方向 的偏转角度确定二维码图片的方向;

根据所述二维码图片的中心点的坐标和所述二 维码图片的方向,从所述图 片中提取出二维码图片, 从所述二维码图片中提取出二维码信息。

所述的装置可以包括移动通信终端或平板电脑 或数码照相机。

综上所述,本发明可以通过监视和识别移动终 端摄录或拍摄数字影像过程 中的对焦动作, 对移动终端完成对焦动作后获取的数字影像进 行记录和分析, 从而可以高效、 方便地获取对焦动作所带来的数字影像中的可 视化图形编码。 避免了用户再次安装可视化图形编码软件,打 开可视化图形编码软件这一繁瑣 的操作。 解决了可视化图形编码软件需要去适配各种移 动通信终端等移动终 端, 可视化图形编码识别软件缺乏自动对焦功能, 可视化图形编码的识别操作 容易失败等问题。

本发明充分保留了用户直接打开移动终端自带 摄录或拍摄设备并进行摄 录或拍摄这一非常自然的习惯,可以充分利用 摄录或拍摄设备的拍照和对焦能 力,解决拍摄包含二维码等可视化图形编码的 图片的质量问题,有效提升二维 码等可视化图形编码的识别精度。具有操作方 便简单,二维码等可视化图形编 码识别率高, 纠错能力强, 适用性强等有益效果。

在此提供的算法和显示不与任何特定计算机、 虚拟系统或者其它设备固有 相关。 各种通用系统也可以与基于在此的示教一起使 用。 根据上面的描述, 构 造这类系统所要求的结构是显而易见的。此外 , 本发明也不针对任何特定编程 语言。 应当明白, 可以利用各种编程语言实现在此描述的本发明 的内容, 并且 上面对特定语言所做的描述是为了披露本发明 的最佳实施方式。

在此处所提供的说明书中, 说明了大量具体细节。 然而, 能够理解, 本发 明的实施例可以在没有这些具体细节的情况下 实践。在一些实例中, 并未详细 示出公知的方法、 结构和技术, 以便不模糊对本说明书的理解。

类似地,应当理解, 为了精简本公开并帮助理解各个发明方面中的 一个或 多个,在上面对本发明的示例性实施例的描述 中, 本发明的各个特征有时被一 起分组到单个实施例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法 解释成反映如下意图:即所要求保护的本发明 要求比在每个权利要求中所明确 记载的特征更多的特征。 更确切地说, 如下面的权利要求书所反映的那样, 发 明方面在于少于前面公开的单个实施例的所有 特征。 因此, 遵循具体实施方式 的权利要求书由此明确地并入该具体实施方式 ,其中每个权利要求本身都作为 本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例 中的设备中的模块进行自适 应性地改变并且把它们设置在与该实施例不同 的一个或多个设备中。可以把实 施例中的模块或单元或组件组合成一个模块或 单元或组件,以及此外可以把它 们分成多个子模块或子单元或子组件。 除了这样的特征和 /或过程或者单元中 的至少一些是相互排斥之外, 可以釆用任何组合对本说明书(包括伴随的权 利 要求、摘要和附图)中公开的所有特征以及如 此公开的任何方法或者设备的所 有过程或单元进行组合。除非另外明确陈述, 本说明书(包括伴随的权利要求、 摘要和附图)中公开的每个特征可以由提供相 同、等同或相似目的的替代特征 来代替。

此外, 本领域的技术人员能够理解,尽管在此所述的 一些实施例包括其它 实施例中所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意 味着处于本发明的范围之内并且形成不同的实 施例。例如,在下面的权利要求 书中, 所要求保护的实施例的任意之一都可以以任意 的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或 者以在一个或者多个处理器 上运行的软件模块实现,或者以它们的组合实 现。本领域的技术人员应当理解, 可以在实践中使用微处理器或者数字信号处理 器 (DSP ) 来实现根据本发明实 施例的移动终端处理可视化图形编码的装置中 的一些或者全部部件的一些或 者全部功能。本发明还可以实现为用于执行这 里所描述的方法的一部分或者全 部的设备或者装置程序(例如, 计算机程序和计算机程序产品)。 这样的实现 本发明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号 的形式。 这样的信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任何其他形式提供。

例如, 图 9示出了可以实现根据本发明的移动终端处理 视化图形编码 的方法的智能电子设备。 该智能电子设备传统上包括处理器 910和以存储器 920形式的计算机程序产品或者计算机可读介质 。 存储器 920可以是诸如闪 存、 EEPROM (电可擦除可编程只读存储器) 、 EPROM、 硬盘或者 ROM之 类的电子存储器。存储器 920具有用于执行上述方法中的任何方法步骤的 程 序代码 931的存储空间 930。 例如, 用于程序代码的存储空间 930可以包括分 别用于实现上面的方法中的各种步骤的各个程 序代码 931。这些程序代码可 以从一个或者多个计算机程序产品中读出或者 写入到这一个或者多个计算 机程序产品中。 这些计算机程序产品包括诸如硬盘, 紧致盘 (CD ) 、 存储 卡或者软盘之类的程序代码载体。 这样的计算机程序产品通常为如参考图 10所述的便携式或者固定存储单元。该存储单 可以具有与图 9的智能电子 设备中的存储器 920类似布置的存储段或者存储空间等。程序代 码可以例如 以适当形式进行压缩。 通常, 存储单元包括用于执行根据本发明的方法步 骤的程序 931,, 即可以由例如诸如 910之类的处理器读取的代码, 这些代码 当由智能电子设备运行时, 导致该智能电子设备执行上面所描述的方法中 的各个步骤。

应该注意的是上述实施例对本发明进行说明而 不是对本发明进行限制,并 且本领域技术人员在不脱离所附权利要求的范 围的情况下可设计出替换实施 例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对 权利要求的 限制。 单词 "包含" 不排除存在未列在权利要求中的元件或步骤。 位于元件之 前的单词 "一" 或 "一个" 不排除存在多个这样的元件。 本发明可以借助于包 括有若干不同元件的硬件以及借助于适当编程 的计算机来实现。在列举了若干 装置的单元权利要求中,这些装置中的若干个 可以是通过同一个硬件项来具体 体现。 单词第一、 第二、 以及第三等的使用不表示任何顺序。 可将这些单词解 释为名称。