CN116301459B - 一种扫码方法及相关装置 - Google Patents
一种扫码方法及相关装置 Download PDFInfo
- Publication number
- CN116301459B CN116301459B CN202310216329.0A CN202310216329A CN116301459B CN 116301459 B CN116301459 B CN 116301459B CN 202310216329 A CN202310216329 A CN 202310216329A CN 116301459 B CN116301459 B CN 116301459B
- Authority
- CN
- China
- Prior art keywords
- image
- clipping
- zoom magnification
- ratio
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 239000010410 layer Substances 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000009966 trimming Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Studio Devices (AREA)
Abstract
本申请公开了一种扫码方法及相关装置,电子设备可以在开启扫码功能之后,分析扫码的场景(例如,单个码、多个码、多个码中有非完整码等场景),并基于扫码的场景确定出该场景下最优的目标变焦倍率,以获取目标变焦倍率的图像,识别目标变焦倍率的图像中的条码。这样,可以快速的让电子设备成功识别条码。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种扫码方法及相关装置。
背景技术
随着科技的发展,条码充斥着我们的生活。条码可以帮助我们快速地付款、加好友、关注公众号等等。在电子设备在距离条码较远的情况下,电子设备通过摄像头拍摄到的画面中条码的尺寸太小,电子设备识别条码的速度会很慢,甚至不能识别条码的情形。
发明内容
本申请提供了一种扫码方法及相关装置,实现了电子设备可以快速成功识别条码。
第一方面,本申请提供了一种扫码方法,包括:接收用户的第一输入;响应于该第一输入,显示扫码界面,其中,该扫码界面中包括有通过摄像头获取到的第一变焦倍率的图像,该第一变焦倍率的图像中包括有第一图像;当检测到该第一图像中有一个完整的条码时,基于该第一图像中一个完整的条码所在区域,确定目标变焦倍率,该目标变焦倍率大于该第一变焦倍率;当检测到该第一图像中有多个完整的条码时,基于该第一图像中多个完整的条码所在区域,确定最小外接矩形区域,并基于该最小外接矩形区域确定该目标变焦倍率;该最小外接矩形区域为包括该多个完整的条码所在区域的矩形区域中面积最小的矩形区域;通过摄像头获取该目标变焦倍率的图像,并将该目标变焦倍率的图像显示在该扫码界面;识别该目标变焦倍率的图像中完整的条码对应的条码信息;在识别到该条码信息后,显示该条码信息对应的页面。
通过本申请提供的一种扫码方法,电子设备可以在开启扫码功能之后,分析扫码的场景(例如,单个码、多个码、多个码中有非完整码等场景),并基于扫码的场景确定出该场景下最优的目标变焦倍率,以获取目标变焦倍率的图像,识别目标变焦倍率的图像中的条码。这样,可以快速的让电子设备成功识别条码。
在一种可能的实现方式中,该基于该第一图像中一个完整的条码所在区域,确定目标变焦倍率,包括:从缩放倍数的候选序列中选择第一缩放倍数以该第一图像的中心点对第一图像进行裁剪,得到第一裁剪图像;其中,该缩放倍数的候选序列中包括多个缩放倍数;当该第一裁剪图像中该一个完整的条码所在区域的长边长度与该第一裁剪图像的短边长度的比例在预设范围内,且该第一裁剪图像中该一个完整的条码所在区域的边缘与该第一裁剪图像的边缘之间的最小距离与该第一裁剪图像的短边的比例大于指定比例阈值时,基于该第一缩放倍数和该第一变焦倍率,确定出该目标变焦倍率。
在一种可能的实现方式中,该方法还包括:当该第一裁剪图像中该一个完整的条码所在区域的长边长度与该第一裁剪图像的短边长度的比例不在该预设范围内,和/或,该第一裁剪图像中该一个完整的条码所在区域的边缘与该第一裁剪图像的边缘之间的最小距离与该第一裁剪图像的短边的比例小于该指定比例阈值时,从该缩放倍数的候选序列中,重新选择第二缩放倍数,并基于该第二缩放倍数以该第一图像的中心对该第一图像进行裁剪,得到第二裁剪图像;其中,该第二缩放倍数与该第一缩放倍数不同;当该第二裁剪图像中该一个完整的条码所在区域的长边长度与该第二裁剪图像的短边长度的比例在该预设范围内,且该第二裁剪图像中该一个完整的条码所在区域的边缘与该第二裁剪图像的边缘之间的最小距离与该第二裁剪图像的短边的比例大于该指定比例阈值时,基于该第二缩放倍数和该第一变焦倍率,确定出该目标变焦倍率。
在一种可能的实现方式中,该第二缩放倍数小于该第一缩放倍数。
这样,可以在单个完整码的场景下,快速确定出最优的目标变焦倍率,从而使得相机缩放操作一步直达扫码时最佳的变焦倍率,提升扫码速度以及扫码准确率。
在一种可能的实现方式中,该基于该第一图像中一个完整的条码所在区域,确定目标变焦倍率,包括:基于该第一图像中该一个完整的条码所在区域和指定像素阈值,确定出该第一图像的第一裁剪区域;其中,该第一裁剪区域的中心与该第一图像的中心相同,该第一裁剪区域为矩形且该第一裁剪区域的长宽比与该第一图像的长宽比相同,该一个完整的条码所在区域与该第一裁剪区域的边缘的最小距离为该指定像素阈值;当该一个完整的条码所在区域的长边长度与该第一裁剪区域的短边长度的比例小于等于固定百分比,则基于该第一裁剪区域与该第一图像的尺寸,确定出第一裁剪比例;基于该第一裁剪比例和该第一变焦倍率,确定出该目标变焦倍率。
在一种可能的实现方式中,该方法还包括:当该一个完整的条码所在区域的长边长度与该第一裁剪区域的短边长度的比例大于该固定百分比,则确定第二裁剪区域;其中,该第二裁剪区域的中心与该第一图像的中心相同,该第二裁剪区域为矩形且该第二裁剪区域的长宽比与该第一图像的长宽比相同,该一个完整的条码所在区域的长边长度与该第二裁剪区域的短边长度的比例为该固定百分比;基于该第二裁剪区域与该第一图像的尺寸,确定第二裁剪比例;基于该第二裁剪比例和该第一变焦倍率,确定出该目标变焦倍率。
这样,可以在单个完整码的场景下,快速确定出最优的目标变焦倍率,从而使得相机缩放操作一步直达扫码时最佳的变焦倍率,提升扫码速度以及扫码准确率。
在一种可能的实现方式中,该基于该最小外接矩形区域确定该目标变焦倍率,包括:从缩放倍数的候选序列中选择第一缩放倍数以该第一图像的中心点对第一图像进行裁剪,得到第一裁剪图像;其中,该缩放倍数的候选序列中包括多个缩放倍数;当第一裁剪图像中该最小外接矩形区域的边长与该第一裁剪图像的短边的比例在预设范围内,且该第一裁剪图像中该最小外接矩形区域的边缘与该第一裁剪图像的边缘之间的最小距离与该第一此案件图像的短边的比例大于指定比例阈值时,基于该第一缩放倍数和该第一变焦倍率,确定该目标变焦倍率。
在一种可能的实现方式中,该方法还包括:当该第一裁剪图像中该最小外接矩形区域的长边长度与该第一裁剪图像的短边长度的比例不在该预设范围内,和/或,该第一裁剪图像中该最小外接矩形区域的边缘与该第一裁剪图像的边缘之间的最小距离与该第一裁剪图像的短边的比例小于该指定比例阈值时,从该缩放倍数的候选序列中,重新选择第二缩放倍数,并基于该第二缩放倍数以该第一图像的中心对该第一图像进行裁剪,得到第二裁剪图像;其中,该第二缩放倍数与该第一缩放倍数不同;当该第二裁剪图像中该最小外接矩形区域的长边长度与该第二裁剪图像的短边长度的比例在该预设范围内,且该第二裁剪图像中该最小外接矩形区域的边缘与该第二裁剪图像的边缘之间的最小距离与该第二裁剪图像的短边的比例大于该指定比例阈值时,基于该第二缩放倍数和该第一变焦倍率,确定出该目标变焦倍率。
在一种可能的实现方式中,该第二缩放倍数小于该第一缩放倍数。
这样,可以在多个完整码的场景下,快速确定出最优的目标变焦倍率,从而使得相机缩放操作一步直达扫码时最佳的变焦倍率,提升扫码速度以及扫码准确率。
在一种可能的实现方式中,该基于该第一图像中一个完整的条码所在区域,确定目标变焦倍率,包括:基于该第一图像中该最小外接矩形区域和指定像素阈值,确定出该第一图像的第三裁剪区域;其中,该第三裁剪区域的中心与该第一图像的中心相同,该第三裁剪区域为矩形且该第三裁剪区域的长宽比与该第一图像的长宽比相同,该最小外接矩形区域与该第三裁剪区域的边缘的最小距离为该指定像素阈值;当该最小外接矩形区域的长边长度与该第三裁剪区域的短边长度的比例小于等于固定百分比,则基于该第三裁剪区域与该第一图像的尺寸,确定出第三裁剪比例;基于该第三裁剪比例和该第一变焦倍率,确定出该目标变焦倍率。
在一种可能的实现方式中,该方法还包括:当该最小外接矩形区域的长边长度与该第三裁剪区域的短边长度的比例大于该固定百分比,则确定第四裁剪区域;其中,该第四裁剪区域的中心与该第一图像的中心相同,该第四裁剪区域为矩形且该第四裁剪区域的长宽比与该第一图像的长宽比相同,该最小外接矩形区域的长边长度与该第四裁剪区域的短边长度的比例为该固定百分比;基于该第四裁剪区域与该第一图像的尺寸,确定第四裁剪比例;基于该第四裁剪比例和该第一变焦倍率,确定出该目标变焦倍率。
这样,可以在多个完整码的场景下,快速确定出最优的目标变焦倍率,从而使得相机缩放操作一步直达扫码时最佳的变焦倍率,提升扫码速度以及扫码准确率。
在一种可能的实现方式中,该识别该目标变焦倍率的图像中完整的条码对应的条码信息,包括:当该目标变焦倍率的图像中包括多个完整的条码时,在该扫码界面显示多个扫描选项,一个扫描选项对应一个完整的条码,该多个扫描选项包括第一选项;接收用户对第一选项的第二输入;响应于该第二输入,识别该目标变焦倍率的图像中该第一选项对应的第一条码的条码信息。
在一种可能的实现方式中,该条码为二维码。
第二方面,本申请提供了一种电子设备,包括:一个或多个处理器、显示屏、一个或多个存储器、一个或多个摄像头。其中,显示屏、一个或多个摄像头、一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器在执行计算机指令时,使得电子设备执行上述任一方面任一项可能的实现方式中的扫码方法。
第三方面,本申请提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在本申请提供的电子设备上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的扫码方法。
第四方面,本申请提供了一种计算机程序产品,包括计算机指令,当计算机指令在本申请提供的电子设备上运行时,使得电子设备执行上述任一方面任一项可能的实现方式中的扫码方法。
附图说明
图1为本申请实施例提供的一种硬件结构示意图;
图2A-图2D为本申请实施例中提供的一种单码扫码场景的示意图;
图3A-图3D为了本申请实施例中提供的一种多码扫码场景的示意图;
图4A-图4C为本申请实施例中提供的一种多条码中包括非完整条码的扫码场景的示意图;
图5为本申请实施例中提供的一种电子设备的软件框架示意图;
图6为本申请实施例中提供的一种扫码方法的流程示意图;
图7A-图7B为本申请实施例中提供的一组单码扫码场景下确定目标变焦倍率的过程示意图;
图7C-图7D为本申请实施例中提供的一组多条码包括非完整条码扫码场景下确定目标变焦倍率的过程示意图;
图7E-图7F为本申请实施例中提供的一组多个完整条码扫码场景下确定目标变焦倍率的过程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中,条码可以包括一维条码、二维条码,等。条码可以使用若干个与二进制相对应的几何形体来表示文字数值信息。扫码过程可以解释为电子设备通过摄像头采集包括条码的图片,并解析图片中的条码,得到条码表示的信息的过程。
在本申请实施例中,以二维码进行示例性说明本申请实施例中提供的扫码方法。
图1示出了本申请实施例提供的电子设备100的硬件结构示意图。
电子设备100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备等,本申请实施例对该电子设备的具体类型不作特殊限制。
电子设备100可以包括处理器101,存储器102,无线通信模块103,移动通信模块104,天线103A,天线104A,电源开关105,传感器模块106,对焦马达107,摄像头108,显示屏109等。其中,传感器模块106可以包括陀螺仪传感器106A,加速度传感器106B,环境光传感器106C,图像传感器106D,距离传感器106E等。其中,无线通信模块103可以包括WLAN通信模块,蓝牙通信模块等。上述多个部分可以通过总线传输数据。
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
存储器102可以用于存储计算机可执行程序代码,可执行程序代码可以包括指令。处理器101通过运行存储在存储器102的指令,从而执行电子设备100的各种功能应用以及数据处理。存储器102可以包括存储程序区和存储数据区。具体实现中,存储器102可以包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。
电子设备100的无线通信功能可以通过天线103A,天线104A,移动通信模块104,无线通信模块103,调制解调处理器以及基带处理器等实现。
天线103A和天线104A可以用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块104可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块104可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块104可以由天线104A接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块104还可以对经调制解调处理器调制后的信号放大,经天线104A转为电磁波辐射出去。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备输出声音信号,或通过显示屏109显示图像或视频。
无线通信模块103可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙(bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块103可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块103经由天线103A接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块103还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线103A转为电磁波辐射出去。
电源开关105可用于控制电源向电子设备100的供电。
陀螺仪传感器106A可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器106A确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器106A可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器106A检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器106A还可以用于导航,体感游戏场景。
加速度传感器106B可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,例如,加速度传感器106B可以应用于横竖屏切换,计步器等应用。
环境光传感器106C用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏109的亮度。环境光传感器106C也可用于拍照时自动调节白平衡。
图像传感器106D,又称为感光元件,可以利用光电器件的光电转换功能将感光面上的光像转换为与光像成相应比例关系的电信号。图像传感器可以是电荷耦合器件(charge coupled device,CCD)传感器或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)传感器。
距离传感器106E可以用于测量距离。电子设备100可以通过红外或激光测量距离。在一些拍摄场景中,电子设备100可以利用距离传感器106E测距以实现快速对焦。
对焦马达107可用于快速对焦。电子设备100可以通过对焦马达107控制镜片的移动,实现自动对焦。
电子设备100可以通过ISP,摄像头108,视频编解码器,GPU,显示屏109以及应用处理器等实现拍摄功能。
ISP用于处理摄像头108反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头108中。
摄像头108可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到图像传感器。图像传感器可以把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP可以将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头108,N为大于1的正整数。
视频编解码器用于对数字图像压缩或解压缩。电子设备100可以支持一种或多种图像编解码器。这样,电子设备100代开或保存多种编码格式的图片或视频。
电子设备100可以通过GPU,显示屏109,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏109和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器101可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏109用于显示图像,视频等。显示屏109包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏109,N为大于1的正整数。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
图2A-图2D示出了本申请实施例中提供的一种单码扫码场景。
在一些应用场景中,电子设备100在开启扫码功能之后,可以通过摄像头拍摄的第一图像。电子设备100可以从拍摄到的第一图像中检测条码的尺寸和位置,当第一图像中条码的尺寸和/或位置不满足识别条件时,电子设备100无法成功识别出条码中的信息。因此,电子设备100可以基于第一图像中条码的尺寸和位置确定出目标变焦倍率(zoomradio),并通过摄像头获取到目标变焦倍率的第二图像,从而使得电子设备100从第二图像中能够成功识别出条码的信息。这样,可以快速的让电子设备100成功识别条码。
示例性的,如图2A所示,电子设备100可以显示桌面210。该桌面210中显示了一个放置有应用图标的页面。其中,该页面可以包括多个应用图标(例如,扫码应用图标211、设置应用图标、支付应用图标、聊天应用图标等等)。可选的,该放置有应用图标的页面的下方还可以显示页面指示符,该页面指示符可以表明桌面上页面总数,以及当前显示的页面与其他页面的位置关系。例如,桌面210可以包括有三个页面,该页面指示符中的黑点在最左边,可以表示当前显示页面为三个页面中最左边的一个页面。可选的,该放置有应用图标的页面的上方还显示包括有状态栏,该状态栏中可以包括有通信信号的强度指示符、电量值、时间等信息。进一步可选的,页面指示符的下方可以有托盘(dock)区域,该dock区域中可以包括有一个或多个托盘图标(例如,拨号应用图标、信息应用图标、联系人应用图标、相机应用图标等等),该dock区域中的一个或多个托盘图标可以在页面切换时保持显示。
电子设备100可以接收到用户针对扫码应用图标211的输入(例如单击),响应于该输入,电子设备100可以显示如图2B所示的扫码界面220,并开启摄像头捕捉图像流,并在扫码界面220中显示摄像头捕捉到的图像流。
如图2B所示,扫码界面220中可以包括显示有摄像头捕捉到的图像221、提示信息222、相册控件223。电子设备100的拍摄场景可以有一个带有二维码的物体。其中,由于电子设备100的摄像头离带有二维码的物体比较远,电子设备100捕捉到的图像221中的二维码224比较小。该提示信息222可用于提示用户将电子设备100的摄像头对准二维码,例如,该提示信息222可以为文字提示“对准二维码,即可自动扫描”。该相册控件223可用于触发电子设备100从本地相册中保存的一张图片中识别二维码。
其中,电子设备100可以检测出图像221中的二维码224在图像221中的位置和尺寸,并基于二维码224在图像221中的位置和尺寸确定出目标变焦倍率,电子设备100可以通过摄像头获取到目标变焦倍率的图像225。
如图2C所示,在获取到目标变焦倍率的图像225后,电子设备100可以将图像225显示在扫码界面220中,并识别图像225中的二维码226。其中,二维码226与上述图像221中的二维码224为同一个二维码,二维码226在图像225中的尺寸大于上述二维码224在图像221中的尺寸。
如图2D所示,在电子设备100成功识别二维码226后,电子设备100可以获取到二维码226的二维码信息,并基于二维码226的二维码信息执行相关操作。例如,二维码信息可以是一个页面的跳转链接。电子设备100可以基于二维码信息指示的跳转链接,显示出页面230。例如,页面230可以为荣耀商城的页面。
图3A-图3D示出了本申请实施例中提供的一种多码扫码场景。
在一些应用场景中,电子设备100在开启扫码功能之后,可以通过摄像头拍摄的第一图像。电子设备100可以从拍摄到的第一图像中检测到多个条码的尺寸和位置,当第一图像中多个条码的尺寸和/或位置不满足识别条件时,电子设备100无法成功识别出条码中的信息。因此,电子设备100可以基于第一图像中多个条码的尺寸和位置确定出目标变焦倍率(zoomradio),并通过摄像头获取到目标变焦倍率的第三图像,从而使得电子设备100从第三图像中能够成功识别出多个条码的信息。这样,可以快速的让电子设备100成功识别条码。
示例性的,如图3A所示,电子设备100可以开启扫码功能后,可以通过摄像头捕捉图像流,显示扫码界面310,并在扫码界面310中显示摄像头捕捉到的图像流。扫码界面310中可以包括显示有摄像头捕捉到的图像311、提示信息312、相册控件313。电子设备100的拍摄场景可以有2个二维码。其中,由于电子设备100的摄像头距离带有2个二维码所在的物体比较远,电子设备100捕捉到的图像311中的二维码314和二维码315都比较小。该提示信息312可用于提示用户将电子设备100的摄像头对准二维码,例如,该提示信息312可以为“对准二维码,即可自动扫描”。该相册控件313可用于触发电子设备100从本地相册中保存的一张图片中识别二维码。
其中,电子设备100可以检测出图像311中的二维码314在图像311中的位置和尺寸、以及二维码315在图像311中的位置和尺寸。并基于二维码314在图像311中的位置和尺寸以及二维码315在图像311中的位置和尺寸,确定出目标变焦倍率,电子设备100可以通过摄像头获取到目标变焦倍率的图像316。
如图3B所示,在获取到目标变焦倍率的图像316后,电子设备100可以将图像316显示在扫码界面310中。其中,图像316中可以包括二维码317和二维码318,二维码317与上述图像311中的二维码314为同一个二维码,二维码318与上述图像311中的二维码315为同一个二维码。二维码317在图像316中的尺寸大于上述二维码314在图像311中的尺寸。二维码318在图像316中的尺寸大于上述二维码315在图像311中的尺寸。
如图3C所示,电子设备100在扫码界面310中显示目标变焦倍率的图像316之后,可以在二维码317的位置附近显示扫描选项321(例如,在二维码317周围或者在二维码317的中间位置上覆盖显示扫描选项321),在二维码318的位置附近显示扫描选项322(例如,在二维码318周围或者在二维码318的中间位置上覆盖显示扫描选项322)。其中,该扫描选项321可用于触发电子设备100识别二维码317中的二维码信息,并执行二维码317中的二维码信息对应的操作。该扫描选项322可用于触发电子设备100识别二维码318中的二维码信息,并执行二维码318中的二维码信息对应的操作。可选的,电子设备100还可以显示提示信息323,其中,提示信息323用于提示用户从图像316中包括的多个二维码中选择要电子设备100要识别的二维码。例如,该提示信息323可以是文字提示“识别到多个二维码,请选择要扫描的二维码”。
电子设备100可以接收用户作用于该扫描选项321的输入(例如,单击),响应于该输入,电子设备100可以识别二维码317。
如图3D所示,在电子设备100成功识别二维码226后,电子设备100可以获取到二维码317的二维码信息,并基于二维码317的二维码信息执行相关操作。例如,二维码信息可以是一个页面的跳转链接。电子设备100可以基于二维码信息指示的跳转链接,显示出页面330。例如,页面330可以为荣耀商城的页面。
图4A-图4C示出了本申请实施例中提供的一种多条码中包括非完整条码的扫码场景。
在一些应用场景中,电子设备100在开启扫码功能之后,可以通过摄像头拍摄的第一图像。电子设备100可以从拍摄到的第一图像中检测到多个条码的尺寸和位置,并识别出多个条码中的完整条码和非完整条码。当第一图像中多个条码的尺寸和/或位置不满足识别条件时,电子设备100无法成功识别出条码中的信息。因此,电子设备100可以基于第一图像中完整条码的尺寸和位置确定出目标变焦倍率(zoomradio),并通过摄像头获取到目标变焦倍率的第二图像,从而使得电子设备100从第二图像中能够成功识别出完整条码的信息。这样,可以快速的让电子设备100成功识别条码。
示例性的,如图4A所示,电子设备100可以开启扫码功能后,可以通过摄像头捕捉图像流,显示扫码界面410,并在扫码界面410中显示摄像头捕捉到的图像流。扫码界面410中可以包括显示有摄像头捕捉到的图像411、提示信息412、相册控件413。电子设备100的拍摄场景可以有2个二维码。其中,由于电子设备100的摄像头距离带有2个二维码所在的物体比较远,电子设备100捕捉到的图像411中的二维码414和二维码415都比较小,且图像411中二维码414为完整条码,二维码415为非完整条码。该提示信息412可用于提示用户将电子设备100的摄像头对准二维码,例如,该提示信息412可以为“对准二维码,即可自动扫描”。该相册控件413可用于触发电子设备100从本地相册中保存的一张图片中识别二维码。
其中,电子设备100可以检测出图像411中的二维码414在图像411中的位置和尺寸、以及二维码415在图像411中的位置和尺寸,并检测二维码414和二维码415是否为完整码。当检测到二维码414为完整码、二维码415为非完整码时,电子设备100可以基于二维码414在图像411中的位置和尺寸,确定出目标变焦倍率,电子设备100可以通过摄像头获取到目标变焦倍率的图像416。
如图4B所示,在获取到目标变焦倍率的图像416后,电子设备100可以将图像416显示在扫码界面310中。其中,图像316中可以包括二维码417,二维码417与上述图像411中的二维码414为同一个二维码。二维码417在图像416中的尺寸大于上述二维码414在图像411中的尺寸。电子设备100可以识别图像416中的二维码417。
如图4C所示,在电子设备100成功识别二维码417后,电子设备100可以获取到二维码417的二维码信息,并基于二维码417的二维码信息执行相关操作。例如,二维码信息可以是一个页面的跳转链接。电子设备100可以基于二维码信息指示的跳转链接,显示出页面420。例如,页面420可以为荣耀商城的页面。
下面介绍本申请实施例中提供的一种电子设备100的软件框架。
图5示出了本申请实施例中提供的一种电子设备100的软件框架示意图。
如图5所示,电子设备100软件框架可以包括应用层、应用程序框架层、硬件抽象层、驱动层以及硬件层。
其中,应用程序层可以包括一系列应用程序包。应用程序包可以包括扫码应用510以及其他应用程序。其中,扫码应用可以是电子设备100的操作系统自带应用,也可以是第三方应用。
应用程序框架层可以为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。
硬件抽象层为位于应用框架层以及驱动层之间的接口层,为操作系统提供虚拟硬件平台。其中,硬件抽象层可以包括智能变焦模块520和相机模块530。该智能变焦模块可以包括图像前处理模块521、条码检测模型推理模块522、数据后处理模块523和变焦(zoom)缩放逻辑算法模块524。
驱动层为硬件和软件之间的层。驱动层包括各种硬件的驱动。驱动层可以包括相机驱动540、神经网络处理器驱动550、数字信号处理器驱动(图5中未示出)以及图像处理器驱动(图5中未示出)等。其中,相机驱动540用于驱动摄像头模组560中的一个或多个摄像头的图像传感器(例如,图像传感器1、图像传感器2,等等)采集图像以及驱动图像信号处理器570对图像进行预处理。数字信号处理器驱动用于驱动数字信号处理器处理图像。图像处理器驱动用于驱动图形处理器处理图像。神经网络处理器驱动550用于通过神经网络对图像进行检测推理,例如,通过AI检测模型检测图像中条码的位置和边缘轮廓,等等。
硬件层可以包括摄像头模组560、图像信号处理器570、神经网络处理器580、数字信号处理器(图5中未示出)、图像处理器(图5中未示出)。摄像头模组560中可以包括一个或多个摄像头的图像传感器(例如,图像传感器1、图像传感器2,等等)。可选的,摄像头模组中还可以包括飞行时间(timeofflight,TOF)传感器、多光谱传感器,等等。
下面结合上述硬件结构以及系统结构,对本申请实施例中方法进行具体描述:
1、扫码应用510可以下发扫码预览请求给相机模块530。
2、相机模块530可以下发图像获取指令给相机驱动540。
3、相机驱动540可以通过摄像头模组560和图像信号处理器570获取到第一变焦倍率的图像流,并将第一变焦倍率的图像流上报给相机模块530。
其中,该相机驱动540可以启动摄像头模组560中的图像传感器(例如,后置摄像头对应的图像传感器1),通过图像传感器1采集图像光信号,并将该图像光信号传输到图像信号处理器进行预处理,得到第一变焦倍率的图像流,然后将该第一变焦倍率的图像流通过相机驱动传输至相机模块530。
在本申请实施例中,相机模块530可以是基于CamX-CHI架构。也可以是基于其他架构,在此不作限定。
4、相机模块530可以从第一变焦倍率的图像流抽取出一张图像(例如,第一图像),并将抽取出的第一变焦倍率的图像(例如,第一图像)给到智能变焦模块520。
其中,相机模块530还将第一变焦倍率的图像流通过层间接口传递给扫码应用510,从而使得扫码应用510在扫码界面上显示出第一变焦倍率的图像流。
5、智能变焦模块520可以对第一变焦倍率的图像(例如,第一图像)进行处理,确定出目标变焦倍率,并将目标变焦倍率给到相机模块530。
可选的,智能变焦模块520中的图像前处理模块521可以先对第一变焦倍率的图像进行图像前处理,例如,图像前处理可以包括将第一变焦倍率的图像从YUV数据转换为RGB数据格式,并将RGB格式的第一变焦倍率的图像的RGB数值范围进行归一化(例如,从0~255归一化到0~1)。这样,可以减少条码检测模型的运算量,加快对第一变焦倍率的图像中条码的检测。
在图像前处理模块521对第一变焦倍率的图像处理完后,可以输入到条码检测模型推理模块522。条码检测模型推理模块522可以通过训练好的神经网络模型,从第一变焦倍率的图像中识别第一变焦倍率的图像中条码的边缘位置(例如条码的四个端点),从而第一图像中条码的边缘位置确定出第一变焦倍率的图像中条码所在的区域。
在一种可能的实现方式中,条码检测模型推理模块522可以通过神经网络处理器(NPU)驱动550,调用神经网络处理器(NPU)580,运行条码检测模型,从第一变焦倍率的图像中识别第一变焦倍率的图像中条码的边缘位置(例如条码的四个端点),从而第一图像中条码的边缘位置确定出第一变焦倍率的图像中条码所在的区域。这样,通过调用NPU,运行条码检测模型检测图像中条码的边缘位置,可以加快检测条码在图像中所在位置的速度。
可选的,数据后处理模块523可以基于第一变焦倍率的图像中条码的边缘位置对应的区域,再外扩延伸一定倍数(例如,1.2倍)形成条码所在区域。这样,可以防止边缘位置识别不准确,而将条码的一部分划分在了条码所在区域之外,提高了检测条码所在区域的准确性。
变焦(zoom)缩放逻辑算法模块524可以基于第一变焦倍率的图像中条码所在区域,识别第一变焦倍率的图像中的扫码场景,并确定出该扫码场景的最优的目标变焦倍率。其中,扫码场景可以包括单码的扫码场景,多完整码的扫码场景,多码中有非完整码的扫码场景,等等。
其中,针对确定出目标变焦倍率的过程,可以参考后续图6所示方法实施例,在此不再赘述。
6、相机模块530可以将目标变焦倍率给到相机驱动540。
7、相机驱动540可以通过摄像头模组560和图像信号处理器570获取到目标变焦倍率的图像流,并将目标变焦倍率的图像流上报给相机模块530。
8、相机模块530可以将目标变焦倍率的图像流给到扫码应用510。
其中,扫码应用510在获取到目标变焦倍率的图像流后,可以将目标变焦倍率的图像流显示在扫码界面上,并从目标变焦倍率的图像流中获取到一张图像(例如第二图像或第三图像)进行条码识别,在成功识别条码获取到条码信息后,扫码应用510可以跳转显示该条码信息对应的页面。
下面介绍本申请实施例中提供的一种扫码方法。
图6示出了本申请实施例中提供的一种扫码方法的流程示意图。
如图6所示,该方法可以包括如下步骤:
S601、电子设备100接收并响应于用户的第一输入,开启扫码功能并显示扫码界面。
其中,扫码界面可以如上述图2B所示实施例中的扫码界面220或者图3A所示实施例中的扫码界面310或上述图4A所示实施例中的扫码界面410。具体内容可以参考前述图2B、图3A、图4A所示实施例,在此不再赘述。
S602、电子设备100通过摄像头获取第一变焦倍率的第一图像。
其中,电子设备100通过摄像头初始以第一变焦倍率捕捉图像流,并将第一变焦倍率的图像流显示在扫码界面中。电子设备100可以从第一变焦倍率的图像流中获取一张图像作为第一图像。
S603、电子设备100可以判断第一图像中是否只有一个条码。当第一图像中只有一个条码时,电子设备100可以执行步骤S604。当第一图像中不是只有一个条码时,电子设备100可以执行步骤S609。
其中,条码可以包括一维码或二维码。本申请实施例中以二维码为例进行说明。
其中,电子设备100可以通过训练好的条码检测模型识别第一图像中条码的边缘位置(例如条码的四个端点)。然后,电子设备100可以基于第一图像中条码的边缘位置确定出第一图像中条码所在的区域。例如,电子设备100可以将条码的四个端点以非对角连接在一起,形成条码所在区域。
电子设备100可以基于第一图像中条码所在区域,确定第一图像中是否只有一个条码。当将第一图像输入到条码检测模型后,条码检测模型输出只输出1个条码的区域位置时,电子设备100可以确定出第一图像中只有一个条码,当条码检测模型输出多个条码的区域位置时,电子设备100可以确定第一图像中包括有多个条码。
在一种可能的实现方式中,电子设备100在将第一图像输入到条码检测模型之前,可以将第一图像进行图像前处理。其中,图像前处理可以包括将第一图像由YUV数据格式转换为RGB数据格式,并将RGB数据格式的第一图像进行归一化处理。例如,将第一图像中每个像素的RGB数值范围从0至255归一化到0至1。这样,可以减少条码检测模型的运算量,加快对第一图像中条码的检测。
在一种可能的实现方式中,电子设备100可以基于第一图像中条码的边缘位置对应的区域,再外扩延伸一定倍数(例如,1.2倍)形成条码所在区域。这样,可以防止边缘位置识别不准确,而将条码的一部分划分在了条码所在区域之外,提高了检测条码所在区域的准确性。
S604、电子设备100可以判断第一图像中的条码是否完整。当第一图像中的条码完整时,电子设备100可以执行步骤S605。当第一图像中的条码不完整时,电子设备100可以返回步骤S602,重新获取第一变焦倍率的图像流中,并从第一变焦倍率的图像流中获取第一变焦倍率的第一图像。
电子设备100可以基于第一图像中条码所在区域,判断第一图像中条码是否完整。
在一种可能的实现方式中,当第一图像中的条码所在区域距离第一图像的边缘的最小值大于预设阈值(例如,3个像素值)时,电子设备100可以确定第一图像中条码完整。当第一图像中条码所在区域距离第一图像的边缘的最小值小于或等于预设阈值时,电子设备100可以确定第一图像中条码不完整。这样,由于条码所在区域距离第一图像的边缘的最小值过小,大概率第一图像没有将条码显示完全。因此,通过条码所在区域的边缘距离第一图像的边缘的最小值可以准确判断条码是否完整。
在另一种可能的实现方式中,当第一图像中条码所在区域呈现的图形符合指定图形时,电子设备100可以确定第一图像中的条码完整。当第一图像中的条码所在区域的图形不符合指定图形时,电子设备100可以确定第一图像中的条码不完整。其中,指定图形可以包括正方形、长宽比小于在指定范围(例如,1至1.2)之间的长方形、长边与短边的比例在指定范围(例如,1至1.5)之间的平行四边形中的一种或多种。
S605、电子设备100可以判断是否第一图像中单个完整条码的长边长度小于等于第一图像的短边长度的固定百分比且单个完整条码距离屏幕边缘最小值大于指定像素阈值。若是,则执行步骤S606。若否,则电子设备100可以返回上述步骤S602,重新获取第一变焦倍率的图像流中,并从第一变焦倍率的图像流中获取第一变焦倍率的第一图像。
在一种示例中,固定百分比可以为50%,指定像素阈值可以为第一图像短边方向上像素数量的指定百分比(例如,0.07)。例如,第一图像短边方向上像素数量共有1080个像素,指定像素阈值可以为76个像素(pixel)。
其中,当第一图像中条码的长边小于等于第一图像的短边的固定百分比且条码距离第一图像边缘最小值大于指定像素阈值时,条码不容易出现虚焦等模糊的情况,这样,可以保证电子设备100能够成功识别出条码中的条码信息。
S606、电子设备100基于第一图像中单个完整条码所在区域,确定目标变焦倍率。
在一种可能的实现方式中,电子设备100可以从缩放倍数的候选序列中选择一个第一缩放倍数以第一图像的中心点对第一图像进行裁剪,得到第一裁剪图像。电子设备100可以判断第一裁剪图像中单个完整条码所在区域的边长与第一裁剪图像的短边的比例是否在预设范围内(例如,(0,50%])。其中,缩放倍数的候选序列中可以包括多个缩放倍数值。例如,缩放倍数的候选序列可以为,[0.95,0.9,0.85,0.80,0.75,0.70,0.65,0.60,0.55,0.50,0.45,0.40,0.35,0.25,0.2,0.15,0.1,0.05]。缩放倍数的候选序列的示例仅仅用于解释本申请,不应构成限定。其中,当缩放倍数值越小时,通过缩放倍数裁剪第一图像后得到的裁剪图像中,条码的尺寸与裁剪图像的尺寸之间的比例越大。
若第一裁剪图像中单个完整条码所在区域的长边长度与第一裁剪图像短边长度的比例在预设范围内,则电子设备100可以继续判断第一裁剪图像中单个完整条码所在区域的边缘与第一裁剪图像的边缘之间的最小距离与第一裁剪图像的短边的比例大于指定比例阈值(例如,0.07)。
若第一裁剪图像中单个完整条码所在区域的边缘与第一裁剪图像的边缘之间的最小距离与第一裁剪图像的短边的比例大于指定比例阈值,则电子设备100基于第一缩放倍数和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第一缩放倍数的倒数之积。例如,第一变焦倍率可以为1,第一缩放倍数可以为0.95,因此,目标变焦倍率可以为20/10。又例如,第一变焦倍率可以为2,第一缩放倍数可以为0.8,因此,目标变焦倍率可以为2.5。
因此,也即,当第一裁剪图像中单个完整条码所在区域的长边长度与第一裁剪图像的短边长度的比例在预设范围(例如,(0,50%])内,且第一裁剪图像中单个完整条码所在区域的边缘与第一裁剪图像的边缘之间的最小距离与第一裁剪图像的短边的比例大于指定比例阈值(例如,0.07)时,电子设备100基于第一缩放倍数和第一变焦倍率,确定出目标变焦倍率。
当第一裁剪图像中单个完整条码所在区域的长边长度与第一裁剪图像的短边长度的比例不在预设范围内,和/或,第一裁剪图像中单个完整条码所在区域的边缘与第一裁剪图像的边缘之间的最小距离与第一裁剪图像的短边的比例小于指定比例阈值时,电子设备100可以从缩放倍数的序列中重新选一个第二缩放倍数,并基于第二缩放倍数以第一图像的中心对第一图像进行裁剪,得到第二裁剪图像。其中,第二缩放倍数与第一缩放倍数不同。
当电子设备100判定出第二裁剪图像中单个完整条码所在区域的边长与第二裁剪图像的短边的比例在预设范围(例如,(0,50%])内,且第二裁剪图像中单个完整条码所在区域的边缘与第二裁剪图像的边缘之间的最小距离与第二裁剪图像的短边的比例大于指定比例阈值(例如,0.07)时,电子设备100基于第二缩放倍数和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第二缩放倍数的倒数之积。
当第二裁剪图像中单个完整条码所在区域的长边长度与第二裁剪图像的短边长度的比例不在预设范围内,和/或,第二裁剪图像中单个完整条码所在区域的边缘与第二裁剪图像的边缘之间的最小距离与第二裁剪图像的短边长度的比例小于指定比例阈值时,电子设备100可以重新从变焦倍数的侯选序列中选择其他缩放倍数(例如,第三缩放倍数),并基于其他缩放倍数以第一图像的中心对第一图像进行裁剪,重复上述判断过程,直至最终确定出满足上述判断条件(裁剪图像中单个完整条码所在区域的长边长度与裁剪图像的短边长度的比例在预设范围内,且裁剪图像中单个完整条码所在区域的边缘与裁剪图像的边缘之间的最小距离与裁剪图像的短边的比例大于指定比例阈值)的缩放倍数。电子设备100可以基于满足条件的缩放倍数以及第一变焦倍率确定出目标变焦倍率。
在一种示例中,电子设备100可以从缩放倍数的候选序列中,从大到小,依次选择缩放倍数以第一图像的中心对第一图像进行裁剪。也即,第一缩放倍数大于第二缩放倍数。例如,第一缩放倍数可以为0.95,第二缩放倍数可以为0.9,第三缩放倍数可以为0.85。
示例性的,如图7A所示,第一图像711的长边长度为A,短边长度为B,A大于等于B。第一图像711中包括有单个完整的条码712。单个完整的条码712所在的区域713的长边长度为a,短边长度为b,a大于等于b。区域713距离第一图像711边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100从缩放倍数的候选序列中选出一个缩放倍数x对第一图像711进行裁剪,得到裁剪图像715。其中,裁剪图像715的长边长度为C,短边长度为D。裁剪图像715与第一图像711的中心点相同都为中心点714,C大于等于D。区域713距离裁剪图像715边缘的最小距离为m。
当a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07)时,则电子设备100基于缩放倍数x和第一变焦倍率z,确定出目标变焦倍率(例如,z/x)。
当a与C的比例不在预设范围(例如,(0,50%])内,和/或,m与D的比例小于等于指定比例阈值(例如,0.07)时,则电子设备100改变缩放倍率x,重新对第一图像711裁剪,直至满足上述条件(a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07))。
上述示例仅仅用于解释本申请,不应构成限定。
在另一种可能实现方式中,电子设备100可以基于第一图像中单个完整条码所在区域和指定像素阈值,确定出第一图像的第一裁剪区域。其中,指定像素阈值可以为第一图像短边方向上像素数量的指定百分比(例如,7%)。例如,第一图像短边方向上像素数量共有1080个像素,指定像素阈值可以为76个像素(pixel)。其中,第一裁剪区域的中心与第一图像的中心相同,第一裁剪区域为矩形且第一裁剪区域的长宽比与第一图像的长宽比相同,单个完整条码所在区域与第一裁剪区域的边缘的最小距离为指定像素阈值。
当单个完整条码所在区域的长边长度与第一裁剪区域的短边长度的比例小于等于固定百分比(例如,50%),则电子设备100可以基于第一裁剪区域与第一图像的尺寸,确定出第一裁剪比例。其中,第一裁剪比例可以为第一裁剪区域的面积与第一图像的面积之比(或者,可以定义为第一裁剪区域的长边长度与第一图像的长边长度之比)。电子设备100可以基于第一裁剪比例和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第一裁剪比例的倒数之积。例如,第一变焦倍率可以为1,第一裁剪比例可以为0.95,因此,目标变焦倍率可以为20/10。又例如,第一变焦倍率可以为2,第一裁剪比例可以为0.8,因此,目标变焦倍率可以为2.5。
当单个完整条码所在区域的长边长度与第一裁剪区域的短边长度的比例大于固定百分比(例如,50%),则电子设备100可以确定第二裁剪区域。其中,第二裁剪区域的中心与第一图像的中心相同,第二裁剪区域为矩形且第二裁剪区域的长宽比与第一图像的长宽比相同,单个完整条码所在区域的长边长度与第二裁剪区域的短边长度的比例为固定百分比(例如,50%)。电子设备100可以基于第二裁剪区域与第一图像的尺寸,确定出第二裁剪比例。其中,第二裁剪比例可以为第二裁剪区域的面积与第一图像的面积之比(或者,可以定义为第二裁剪区域的长边长度与第一图像的长边长度之比)。电子设备100可以基于第二裁剪比例和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第二裁剪比例的倒数之积。
示例性的,如图7B所示,第一图像721的长边长度为A,短边长度为B,A大于等于B。第一图像721中包括有单个完整的条码722。单个完整的条码722所在的区域723的长边长度为a,短边长度为b,a大于等于b。区域723距离第一图像721边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100可以确定第一裁剪区域725。其中,第一裁剪区域725的长边长度为E,短边长度为F。第一裁剪区域725与第一图像721的中心点相同都为中心点724,E大于等于F。区域723距离第一裁剪区域725边缘的最小距离为m。m等于指定像素阈值(例如76个像素)。
当a与F的比例小于等于固定百分比(例如50%),则电子设备100可以基于第一裁剪区域725与第一图像721的尺寸,确定出第一裁剪比例(例如,(E*F)/(A*B))。电子设备100可以基于第一裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(E*F))。
当a与F的比例大于固定百分比(例如50%),则电子设备100可以确定第二裁剪区域726。其中,第二裁剪区域726的长边长度为G,短边长度为H。第二裁剪区域726与第一图像721的中心点相同都为中心点724,G大于等于H。其中,a与H的比例等于固定百分比(例如50%)。电子设备100可以基于第二裁剪区域726与第一图像721的尺寸,确定出第二裁剪比例(即,(G*H)/(A*B))。电子设备100可以基于第二裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(G*H))。
上示例仅仅用于解释本申请,不应构成限定。
S607、电子设备100通过摄像头获取目标变焦倍率的第二图像,第二图像中条码的尺寸大于第二图像中条码的尺寸。
其中,在电子设备100确定出目标变焦倍率后,电子设备100可以通过摄像头获取目标变焦倍率的图像流,并在扫码界面上显示目标变焦倍率的图像流。电子设备100可以从目标变焦倍率的图像流中取出一张目标变焦倍率的第二图像。
S608、电子设备100识别第二图像中的单个完整条码。
其中,电子设备100可以识别第二图像中的单个完整条码,在成功识别出该单个完整条码中的条码信息后,电子设备100可以显示出该条码信息对应的页面。其中,该条码信息可以是页面链接。电子设备100可以基于该页面链接显示出该页面链接对应的页面,例如,收付款页面,购物商城页面,名片展示页面,等等。
S609、电子设备100判断第一图像中是否有非完整的条码。若是,则执行步骤S610。若否,则执行步骤S612。
在一种可能的实现方式中,当第一图像中每个条码的所在区域距离第一图像的边缘的最小值都大于预设阈值(例如,3个像素值)时,电子设备100可以确定第一图像中的条码都完整,无非完整的条码。当第一图像中存在一个条码所在区域距离第一图像的边缘的最小值小于或等于预设阈值时,电子设备100可以确定第一图像中有非完整的条码。
在另一种可能的实现方式中,当第一图像中每个条码的所在区域呈现的图形都符合指定图形时,电子设备100可以确定第一图像中的条码都完整,没有非完整的条码。当第一图像中存在有条码所在区域的图形不符合指定图形时,电子设备100可以确定第一图像中有非完整的条码。其中,指定图形可以包括正方形、长宽比小于在指定范围(例如,1至1.2)之间的长方形、长边与短边的比例在指定范围(例如,1至1.5)之间的平行四边形中的一种或多种。
S610、电子设备100可以丢弃第一图像中非完整的条码。
其中,电子设备100可以忽略第一图像中非完整的条码,不标记第一图像中非完整的条码的位置,也不识别第一图像中非完整的条码。
由于用户意图不会去扫描聚焦非完整码,因此,对多码场景下的非完整码主动舍弃,可以最大限度的保证完整码的识别准确率。
S611、电子设备100可以判断第一图像中是否只有一个完整的条码。若是,则执行步骤S605。若否,则执行步骤S612。
示例性的,如图7C所示,第一图像731中包括有完整的条码732和非完整的条码737时,电子设备100可以丢弃该非完整的条码737。第一图像731的长边长度为A,短边长度为B,A大于等于B。第一图像731中包括有单个完整的条码732。单个完整的条码732所在的区域733的长边长度为a,短边长度为b,a大于等于b。区域733距离第一图像731边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100从缩放倍数的候选序列中选出一个缩放倍数x对第一图像731进行裁剪,得到裁剪图像735。其中,裁剪图像715的长边长度为C,短边长度为D。裁剪图像735与第一图像731的中心点相同都为中心点734,C大于等于D。区域733距离裁剪图像735边缘的最小距离为m。
当a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07)时,则电子设备100基于缩放倍数x和第一变焦倍率z,确定出目标变焦倍率(例如,z/x)。
当a与C的比例不在预设范围(例如,(0,50%])内,和/或,m与D的比例小于等于指定比例阈值(例如,0.07)时,则电子设备100改变缩放倍率x,重新对第一图像731裁剪,直至满足上述条件(a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07))。
又示例性的,如图7D所示,第一图像741中包括有完整的条码742和非完整的条码747时,电子设备100可以丢弃该非完整的条码747。第一图像741的长边长度为A,短边长度为B,A大于等于B。第一图像741中包括有单个完整的条码742。单个完整的条码742所在的区域743的长边长度为a,短边长度为b,a大于等于b。区域743距离第一图像741边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100可以确定第一裁剪区域745。其中,第一裁剪区域745的长边长度为E,短边长度为F。第一裁剪区域745与第一图像741的中心点相同都为中心点744,E大于等于F。区域743距离第一裁剪区域745边缘的最小距离为m。m等于指定像素阈值(例如76个像素)。
当a与F的比例小于等于固定百分比(例如50%),则电子设备100可以基于第一裁剪区域745与第一图像741的尺寸,确定出第一裁剪比例(例如,(E*F)/(A*B))。电子设备100可以基于第一裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(E*F))。
当a与F的比例大于固定百分比(例如50%),则电子设备100可以确定第二裁剪区域746。其中,第二裁剪区域746的长边长度为G,短边长度为H。第二裁剪区域746与第一图像741的中心点相同都为中心点744,G大于等于H。其中,a与H的比例等于固定百分比(例如50%)。电子设备100可以基于第二裁剪区域746与第一图像741的尺寸,确定出第二裁剪比例(例如,(G*H)/(A*B))。电子设备100可以基于第二裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(G*H))。
上述示例仅仅用于解释本申请,不应构成限定。
S612、电子设备100可以判断是否每个完整的条码的长边小于等于屏幕宽度的固定百分比且每个完整的条码距离屏幕边缘最小值大于等于指定像素阈值。若是,则执行步骤S613。若否,则电子设备100可以返回上述步骤S602,重新获取第一变焦倍率的图像流中,并从第一变焦倍率的图像流中获取第一变焦倍率的第一图像。
在一种示例中,固定百分比可以为50%,指定像素阈值可以为第一图像短边方向上像素数量的指定百分比(例如,7%)。例如,第一图像短边方向上像素数量共有1080个像素,指定像素阈值可以为76个像素(pixel)。
其中,当第一图像中条码的长边小于等于第一图像的短边的固定百分比且条码距离第一图像边缘最小值大于指定像素阈值时,条码不容易出现虚焦等模糊的情况,这样,可以保证电子设备100能够成功识别出条码中的条码信息。
S613、电子设备100可以基于第一图像中多个完整的条码所在区域,确定出最小外接矩形区域。
其中,最小外接矩形区域为包括多个完整的条码所在区域的矩形区域中面积最小的矩形区域。
S614、电子设备100可以基于第一图像中最小外接矩形区域,确定出目标变焦倍率。
在一种可能的实现方式中,电子设备100可以从缩放倍数的候选序列中选择一个第一缩放倍数以第一图像的中心点对第一图像进行裁剪,得到第三裁剪图像。电子设备100可以判断第三裁剪图像中最小外接矩形区域的边长与第三裁剪图像的短边的比例是否在预设范围(例如,(0,50%])内。其中,缩放倍数的候选序列中可以包括多个缩放倍数值。例如,缩放倍数的候选序列可以为,[0.95,0.9,0.85,0.80,0.75,0.70,0.65,0.60,0.55,0.50,0.45,0.40,0.35,0.25,0.2,0.15,0.1,0.05]。缩放倍数的候选序列的示例仅仅用于解释本申请,不应构成限定。其中,当缩放倍数值越小时,通过缩放倍数裁剪第一图像后得到的裁剪图像中,条码的尺寸与裁剪图像的尺寸之间的比例越大。
若第三裁剪图像中最小外接矩形区域的边长与第三裁剪图像短边的比例在预设范围内,则电子设备100可以继续判断第三裁剪图像中最小外接矩形区域的边缘与第三裁剪图像的边缘之间的最小距离与第三裁剪图像的短边的比例大于指定比例阈值。
若第三裁剪图像中最小外接矩形区域的边缘与第三裁剪图像的边缘之间的最小距离与第三裁剪图像的短边的比例大于指定比例阈值,则电子设备100基于第一缩放倍数和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第一缩放倍数的倒数之积。例如,第一变焦倍率可以为1,第一缩放倍数可以为0.95,因此,目标变焦倍率可以为20/10。又例如,第一变焦倍率可以为2,第一缩放倍数可以为0.8,因此,目标变焦倍率可以为2.5。
因此,也即,当第三裁剪图像中最小外接矩形区域的长边长度与第三裁剪图像的短边长度的比例在预设范围(例如,(0,50%])内,且第三裁剪图像中最小外接矩形区域的边缘与第三裁剪图像的边缘之间的最小距离与第三裁剪图像的短边的比例大于指定比例阈值(例如,0.07)时,电子设备100基于第一缩放倍数和第一变焦倍率,确定出目标变焦倍率。
当第三裁剪图像中最小外接矩形区域的边长与第三裁剪图像的短边的比例不在预设范围内,和/或,第三裁剪图像中最小外接矩形区域的边缘与第三裁剪图像的边缘之间的最小距离与第三裁剪图像的短边的比例小于指定比例阈值时,电子设备100可以从缩放倍数的序列中重新选一个第二缩放倍数,并基于第二缩放倍数以第一图像的中心对第一图像进行裁剪,得到第四裁剪图像。其中,第二缩放倍数与第一缩放倍数不同。
当电子设备100判定出第四裁剪图像中最小外接矩形区域的长边长度与第四裁剪图像的短边长度的比例在预设范围(例如,(0,50%])内,且第四裁剪图像中单个完整条码所在区域的边缘与第四裁剪图像的边缘之间的最小距离与第四裁剪图像的短边长度的比例大于指定比例阈值(例如,0.07)时,电子设备100基于第二缩放倍数和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第二缩放倍数的倒数之积。
当第四裁剪图像中最小外接矩形区域的长边长度与第四裁剪图像的短边长度的比例不在预设范围内,和/或,第四裁剪图像中最小外接矩形区域的边缘与第四裁剪图像的边缘之间的最小距离与第四裁剪图像的短边长度的比例小于指定比例阈值时,电子设备100可以重新从变焦倍数的侯选序列中选择其他缩放倍数(例如,第三缩放倍数),并基于其他缩放倍数以第一图像的中心对第一图像进行裁剪,重复上述判断过程,直至最终确定出满足上述判断条件(裁剪图像中最小外接矩形区域的长边长度与裁剪图像的短边长度的比例在预设范围内,且裁剪图像中最小外接矩形区域的边缘与裁剪图像的边缘之间的最小距离与裁剪图像的短边的比例大于指定比例阈值)的缩放倍数。电子设备100可以基于满足条件的缩放倍数以及第一变焦倍率确定出目标变焦倍率。
在一种示例中,电子设备100可以从缩放倍数的候选序列中,从大到小,依次选择缩放倍数以第一图像的中心对第一图像进行裁剪。也即,第一缩放倍数大于第二缩放倍数。例如,第一缩放倍数可以为0.95,第二缩放倍数可以为0.9,第三缩放倍数可以为0.85。
示例性的,如图7E所示,第一图像751中包括有完整的条码752和完整的条码753。第一图像751的长边长度为A,短边长度为B,A大于等于B。电子设备100可以基于完整的条码752所在的区域754和完整的条码753所在的区域755,确定出最小外接矩形区域756。其中,最小外接矩形区域756的长边长度为a,短边长度为b,a大于等于b。最小外接矩形区域756距离第一图像751边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100从缩放倍数的候选序列中选出一个缩放倍数x对第一图像751进行裁剪,得到裁剪图像735。其中,裁剪图像758的长边长度为C,短边长度为D。裁剪图像758与第一图像751的中心点相同都为中心点757,C大于等于D。最小外接矩形区域756距离裁剪图像758边缘的最小距离为m。
当a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07)时,则电子设备100基于缩放倍数x和第一变焦倍率z,确定出目标变焦倍率(例如,z/x)。
当a与C的比例不在预设范围(例如,(0,50%])内,和/或,m与D的比例小于等于指定比例阈值(例如,0.07)时,则电子设备100改变缩放倍率x,重新对第一图像751裁剪,直至满足上述条件(a与C的比例在预设范围(例如,(0,50%])内且m与D的比例大于指定比例阈值(例如,0.07))。
上述示例仅仅用于解释本申请,不应构成限定。
在另一种可能实现方式中,电子设备100可以基于第一图像中最小外接矩形区域和指定像素阈值,确定出第一图像的第三裁剪区域。其中,指定像素阈值可以为第一图像短边方向上像素数量的指定百分比(例如,7%)。例如,第一图像短边方向上像素数量共有1080个像素,指定像素阈值可以为76个像素(pixel)。其中,第三裁剪区域的中心与第一图像的中心相同,第三裁剪区域为矩形且第一裁剪区域的长宽比与第一图像的长宽比相同,单个完整条码所在区域与第三裁剪区域的边缘的最小距离为指定像素阈值。
当最小外接矩形区域的长边长度与第三裁剪区域的短边长度的比例小于固定百分比(例如,50%),则电子设备100可以基于第三裁剪区域与第一图像的尺寸,确定出第三裁剪比例。其中,第三裁剪比例可以为第三裁剪区域的面积与第一图像的面积之比(或者,可以定义为第三裁剪区域的长边长度与第一图像的长边长度之比)。电子设备100可以基于第三裁剪比例和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第三裁剪比例的倒数之积。例如,第一变焦倍率可以为1,第三裁剪比例可以为0.95,因此,目标变焦倍率可以为20/10。又例如,第一变焦倍率可以为2,第三裁剪比例可以为0.8,因此,目标变焦倍率可以为2.5。
当最小外接矩形区域的长边长度与第三裁剪区域的短边长度的比例大于固定百分比(例如,50%),则电子设备100可以确定第四裁剪区域。其中,第二裁剪区域的中心与第一图像的中心相同,第四裁剪区域为矩形且第四裁剪区域的长宽比与第一图像的长宽比相同,最小外接矩形区域的长边长度与第四裁剪区域的短边长度的比例为固定百分比。电子设备100可以基于第四裁剪区域与第一图像的尺寸,确定出第四裁剪比例。其中,第四裁剪比例可以为第四裁剪区域的面积与第一图像的面积之比(或者,可以定义为第四裁剪区域的长边长度与第一图像的长边长度之比)。电子设备100可以基于第四裁剪比例和第一变焦倍率,确定出目标变焦倍率。此时,目标变焦倍率可以为第一变焦倍率与第四裁剪比例的倒数之积。
示例性的,如图7F所示,第一图像761中包括有完整的条码762和完整的条码763。第一图像761的长边长度为A,短边长度为B,A大于等于B。电子设备100可以基于完整的条码762所在的区域764和完整的条码763所在的区域765,确定出最小外接矩形区域766。其中,最小外接矩形区域766的长边长度为a,短边长度为b,a大于等于b。最小外接矩形区域766距离第一图像761边缘的最小距离为M。
当a小于等于B的固定百分比(例如50%)且M大于指定像素阈值(例如76个像素),则电子设备100可以确定裁剪区域768。其中,裁剪区域768的长边长度为E,短边长度为F。裁剪区域768与第一图像761的中心点相同都为中心点767,E大于等于F。最小外接矩形区域766距离裁剪区域768边缘的最小距离为m。m等于指定像素阈值(例如76个像素)。
当a与F的比例小于等于固定百分比(例如50%),则电子设备100可以基于裁剪区域768与第一图像761的尺寸,确定出第三裁剪比例(例如,(E*F)/(A*B))。电子设备100可以基于第三裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(E*F))。
当a与F的比例大于固定百分比(例如50%),则电子设备100可以确定裁剪区域769。其中,裁剪区域769的长边长度为G,短边长度为H。裁剪区域769与第一图像761的中心点相同都为中心点767,G大于等于H。其中,a与H的比例等于固定百分比(例如50%)。电子设备100可以基于裁剪区域769与第一图像761的尺寸,确定出第四裁剪比例(例如,(G*H)/(A*B))。电子设备100可以基于第四裁剪比例和第一变焦倍率z,确定目标变焦倍率(例如,z*(A*B)/(G*H))。
上示例仅仅用于解释本申请,不应构成限定。
通过上述确定目标变焦倍率的方式,可以针对多条码场景,实现快速变焦,快速的让电子设备100成功识别条码。
S615、电子设备100可以通过摄像头获取目标变焦倍率的第三图像,第三图像中第一条码的尺寸大于第一图像中该第一条码的尺寸。
其中,在电子设备100确定出目标变焦倍率后,电子设备100可以通过摄像头获取目标变焦倍率的图像流,并在扫码界面上显示目标变焦倍率的图像流。电子设备100可以从目标变焦倍率的图像流中取出一张目标变焦倍率的第三图像。
S616、电子设备100接收用户选择第三图像中第一条码的第二输入。
其中,第三输入可以参考上述图3C所示实施例中针对扫描选项321的输入,具体内容,可以参考前述图3C所示实施例,在此不再赘述。
S617、响应于第二输入,电子设备100可以识别第三图像中第一条码。
其中,电子设备100可以识别第三图像中的第一条码,在成功识别出该第一条码中的条码信息后,电子设备100可以显示出该条码信息对应的页面。其中,该条码信息可以是页面链接。电子设备100可以基于该页面链接显示出该页面链接对应的页面,例如,收付款页面,购物商城页面,名片展示页面,等等。
通过本申请实施例提供的一种扫码方法,电子设备100可以在开启扫码功能之后,分析扫码的场景(例如,单个码、多个码、多个码中有非完整码等场景),并基于扫码的场景进行确定出该场景下最优的目标变焦倍率,以获取目标变焦倍率的图像,识别目标变焦倍率的图像中的条码。这样,可以快速的让电子设备100成功识别条码。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现本申请任一方法实施例的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种扫码方法,其特征在于,包括:
接收用户的第一输入;
响应于所述第一输入,显示扫码界面,其中,所述扫码界面中包括有通过摄像头获取到的第一变焦倍率的图像,所述第一变焦倍率的图像中包括有第一图像;
当检测到所述第一图像中有一个完整的条码时,基于所述第一图像中一个完整的条码所在区域,确定目标变焦倍率,所述目标变焦倍率大于所述第一变焦倍率;
当检测到所述第一图像中有多个完整的条码时,基于所述第一图像中多个完整的条码所在区域,确定最小外接矩形区域,并基于所述最小外接矩形区域确定所述目标变焦倍率;所述最小外接矩形区域为包括所述多个完整的条码所在区域的矩形区域中面积最小的矩形区域;
通过摄像头获取所述目标变焦倍率的图像,并将所述目标变焦倍率的图像显示在所述扫码界面;
识别所述目标变焦倍率的图像中完整的条码对应的条码信息;
在识别到所述条码信息后,显示所述条码信息对应的页面;
所述基于所述第一图像中一个完整的条码所在区域,确定目标变焦倍率,包括:
从缩放倍数的候选序列中选择第一缩放倍数以所述第一图像的中心点对第一图像进行裁剪,得到第一裁剪图像;其中,所述缩放倍数的候选序列中包括多个缩放倍数;
当所述第一裁剪图像中所述一个完整的条码所在区域的长边长度与所述第一裁剪图像的短边长度的比例在预设范围内,且所述第一裁剪图像中所述一个完整的条码所在区域的边缘与所述第一裁剪图像的边缘之间的最小距离与所述第一裁剪图像的短边的比例大于指定比例阈值时,基于所述第一缩放倍数和所述第一变焦倍率,确定出所述目标变焦倍率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一裁剪图像中所述一个完整的条码所在区域的长边长度与所述第一裁剪图像的短边长度的比例不在所述预设范围内,和/或,所述第一裁剪图像中所述一个完整的条码所在区域的边缘与所述第一裁剪图像的边缘之间的最小距离与所述第一裁剪图像的短边的比例小于所述指定比例阈值时,从所述缩放倍数的候选序列中,重新选择第二缩放倍数,并基于所述第二缩放倍数以所述第一图像的中心对所述第一图像进行裁剪,得到第二裁剪图像;其中,所述第二缩放倍数与所述第一缩放倍数不同;
当所述第二裁剪图像中所述一个完整的条码所在区域的长边长度与所述第二裁剪图像的短边长度的比例在所述预设范围内,且所述第二裁剪图像中所述一个完整的条码所在区域的边缘与所述第二裁剪图像的边缘之间的最小距离与所述第二裁剪图像的短边的比例大于所述指定比例阈值时,基于所述第二缩放倍数和所述第一变焦倍率,确定出所述目标变焦倍率。
3.根据权利要求2所述的方法,其特征在于,所述第二缩放倍数小于所述第一缩放倍数。
4.根据权利要求1所述的方法,其特征在于,所述基于所述最小外接矩形区域确定所述目标变焦倍率,包括:
从缩放倍数的候选序列中选择第一缩放倍数以所述第一图像的中心点对第一图像进行裁剪,得到第一裁剪图像;其中,所述缩放倍数的候选序列中包括多个缩放倍数;
当第一裁剪图像中所述最小外接矩形区域的边长与所述第一裁剪图像的短边的比例在预设范围内,且所述第一裁剪图像中所述最小外接矩形区域的边缘与所述第一裁剪图像的边缘之间的最小距离与所述第一裁剪图像的短边的比例大于指定比例阈值时,基于所述第一缩放倍数和所述第一变焦倍率,确定所述目标变焦倍率。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述第一裁剪图像中所述最小外接矩形区域的长边长度与所述第一裁剪图像的短边长度的比例不在所述预设范围内,和/或,所述第一裁剪图像中所述最小外接矩形区域的边缘与所述第一裁剪图像的边缘之间的最小距离与所述第一裁剪图像的短边的比例小于所述指定比例阈值时,从所述缩放倍数的候选序列中,重新选择第二缩放倍数,并基于所述第二缩放倍数以所述第一图像的中心对所述第一图像进行裁剪,得到第二裁剪图像;其中,所述第二缩放倍数与所述第一缩放倍数不同;
当所述第二裁剪图像中所述最小外接矩形区域的长边长度与所述第二裁剪图像的短边长度的比例在所述预设范围内,且所述第二裁剪图像中所述最小外接矩形区域的边缘与所述第二裁剪图像的边缘之间的最小距离与所述第二裁剪图像的短边的比例大于所述指定比例阈值时,基于所述第二缩放倍数和所述第一变焦倍率,确定出所述目标变焦倍率。
6.根据权利要求5所述的方法,其特征在于,所述第二缩放倍数小于所述第一缩放倍数。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第一图像中一个完整的条码所在区域,确定目标变焦倍率,包括:
基于所述第一图像中所述最小外接矩形区域和指定像素阈值,确定出所述第一图像的第三裁剪区域;其中,所述第三裁剪区域的中心与所述第一图像的中心相同,所述第三裁剪区域为矩形且所述第三裁剪区域的长宽比与所述第一图像的长宽比相同,所述最小外接矩形区域与所述第三裁剪区域的边缘的最小距离为所述指定像素阈值;
当所述最小外接矩形区域的长边长度与所述第三裁剪区域的短边长度的比例小于等于固定百分比,则基于所述第三裁剪区域与所述第一图像的尺寸,确定出第三裁剪比例;
基于所述第三裁剪比例和所述第一变焦倍率,确定出所述目标变焦倍率。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述最小外接矩形区域的长边长度与所述第三裁剪区域的短边长度的比例大于所述固定百分比,则确定第四裁剪区域;其中,所述第四裁剪区域的中心与所述第一图像的中心相同,所述第四裁剪区域为矩形且所述第四裁剪区域的长宽比与所述第一图像的长宽比相同,所述最小外接矩形区域的长边长度与所述第四裁剪区域的短边长度的比例为所述固定百分比;
基于所述第四裁剪区域与所述第一图像的尺寸,确定第四裁剪比例;
基于所述第四裁剪比例和所述第一变焦倍率,确定出所述目标变焦倍率。
9.根据权利要求1所述的方法,其特征在于,所述识别所述目标变焦倍率的图像中完整的条码对应的条码信息,包括:
当所述目标变焦倍率的图像中包括多个完整的条码时,在所述扫码界面显示多个扫描选项,一个扫描选项对应一个完整的条码,所述多个扫描选项包括第一选项;
接收用户对第一选项的第二输入;
响应于所述第二输入,识别所述目标变焦倍率的图像中所述第一选项对应的第一条码的条码信息。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述条码为二维码。
11.一种电子设备,其特征在于,包括:一个或多个处理器、显示屏、一个或多个存储器、一个或多个摄像头;其中,所述显示屏、所述一个或多个摄像头、一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器在执行所述计算机指令时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310216329.0A CN116301459B (zh) | 2023-02-27 | 2023-02-27 | 一种扫码方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310216329.0A CN116301459B (zh) | 2023-02-27 | 2023-02-27 | 一种扫码方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116301459A CN116301459A (zh) | 2023-06-23 |
CN116301459B true CN116301459B (zh) | 2023-10-20 |
Family
ID=86782845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310216329.0A Active CN116301459B (zh) | 2023-02-27 | 2023-02-27 | 一种扫码方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301459B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014063836A1 (en) * | 2012-10-23 | 2014-05-01 | Sicpa Holding Sa | Method and device for identifying a two-dimensional barcode |
CN109214225A (zh) * | 2018-07-04 | 2019-01-15 | 青岛海信移动通信技术股份有限公司 | 一种图形条码的扫描方法、装置、移动终端和存储介质 |
CN109409147A (zh) * | 2017-08-16 | 2019-03-01 | 中兴通讯股份有限公司 | 一种条码识别方法和装置 |
CN109495681A (zh) * | 2017-09-12 | 2019-03-19 | 天津三星通信技术研究有限公司 | 获取图像的方法和设备 |
CN111860027A (zh) * | 2020-06-11 | 2020-10-30 | 贝壳技术有限公司 | 二维码的识别方法及装置 |
WO2022111560A1 (zh) * | 2020-11-26 | 2022-06-02 | 维沃移动通信有限公司 | 支付方法、装置、电子设备及介质 |
-
2023
- 2023-02-27 CN CN202310216329.0A patent/CN116301459B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014063836A1 (en) * | 2012-10-23 | 2014-05-01 | Sicpa Holding Sa | Method and device for identifying a two-dimensional barcode |
CN109409147A (zh) * | 2017-08-16 | 2019-03-01 | 中兴通讯股份有限公司 | 一种条码识别方法和装置 |
CN109495681A (zh) * | 2017-09-12 | 2019-03-19 | 天津三星通信技术研究有限公司 | 获取图像的方法和设备 |
CN109214225A (zh) * | 2018-07-04 | 2019-01-15 | 青岛海信移动通信技术股份有限公司 | 一种图形条码的扫描方法、装置、移动终端和存储介质 |
CN111860027A (zh) * | 2020-06-11 | 2020-10-30 | 贝壳技术有限公司 | 二维码的识别方法及装置 |
WO2022111560A1 (zh) * | 2020-11-26 | 2022-06-02 | 维沃移动通信有限公司 | 支付方法、装置、电子设备及介质 |
Non-Patent Citations (1)
Title |
---|
小透明.《https://www.douban.com/group/topic/216165300/?type=rec&_i=1139311VLqLuH4》.2021,第2页. * |
Also Published As
Publication number | Publication date |
---|---|
CN116301459A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113919382B (zh) | 一种扫码的方法及装置 | |
US9767581B2 (en) | Auto-contrast viewfinder for an indicia reader | |
US9002061B2 (en) | Image processing device, image processing method and computer-readable medium | |
US8587636B2 (en) | Image processing apparatus and method, and program | |
US20090227283A1 (en) | Electronic device | |
US20150356743A1 (en) | Photographic subject tracking device and camera | |
KR20080038356A (ko) | 화상 처리 방법 및 장치, 디지털 카메라, 및 화상 처리프로그램을 기록한 기록 매체 | |
US9020269B2 (en) | Image processing device, image processing method, and recording medium | |
CN111787230A (zh) | 图像显示方法、装置和电子设备 | |
CN113747067B (zh) | 拍照方法、装置、电子设备及存储介质 | |
CN116801093B (zh) | 图像处理方法、设备及存储介质 | |
CN116301459B (zh) | 一种扫码方法及相关装置 | |
CN116341586B (zh) | 扫码方法、电子设备及存储介质 | |
CN115359105B (zh) | 景深扩展图像生成方法、设备及存储介质 | |
CN115358937B (zh) | 图像去反光方法、介质及电子设备 | |
CN115550544B (zh) | 图像处理方法及装置 | |
CN116167395B (zh) | 一种扫码方法及电子设备 | |
CN115484383B (zh) | 拍摄方法及相关装置 | |
CN116225270A (zh) | 条码图像的获取方法及相关装置 | |
CN117036149A (zh) | 一种图像处理方法及芯片 | |
CN116723416B (zh) | 图像处理方法及电子设备 | |
JP2020009099A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN117135259B (zh) | 摄像头的切换方法、电子设备、芯片系统及可读存储介质 | |
CN116709017A (zh) | 一种扫码方法和电子设备 | |
CN116703701B (zh) | 一种图片裁剪方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |