CN113273167B - 数据处理设备、方法和存储介质 - Google Patents
数据处理设备、方法和存储介质 Download PDFInfo
- Publication number
- CN113273167B CN113273167B CN201980088122.1A CN201980088122A CN113273167B CN 113273167 B CN113273167 B CN 113273167B CN 201980088122 A CN201980088122 A CN 201980088122A CN 113273167 B CN113273167 B CN 113273167B
- Authority
- CN
- China
- Prior art keywords
- image
- region
- quadrilateral
- candidate regions
- edges
- 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 description 88
- 238000012545 processing Methods 0.000 title claims description 24
- 230000008569 process Effects 0.000 claims description 38
- 230000000007 visual effect Effects 0.000 claims description 33
- 238000001514 detection method Methods 0.000 claims description 25
- 238000003708 edge detection Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims 1
- 230000015654 memory Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 11
- 238000003709 image segmentation Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000001788 irregular Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000004397 blinking Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
- H04N1/0044—Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
- H04N1/00461—Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet marking or otherwise tagging one or more displayed image, e.g. for selective reproduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32106—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
- H04N1/00411—Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/21—Intermediate information storage
- H04N1/2166—Intermediate information storage for mass storage, e.g. in document filing systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3245—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of image modifying data, e.g. handwritten addenda, highlights or augmented reality information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/325—Modified version of the image, e.g. part of the image, image reduced in size or resolution, thumbnail or screennail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3273—Display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3274—Storage or retrieval of prestored additional information
Abstract
由相机捕获的图像可以由扫描应用处理,以标识在该图像内的适合用于扫描的多个区域。这些区域可以被检测并且被选择用于自动扫描。针对单个图像的所捕获的区域可以被存储为单独的图像内容文件。
Description
技术领域
本公开总体涉及计算机技术领域,并且更具体地,涉及用于数据处理的设备、方法和计算机可读存储介质。
背景技术
包括相机的计算设备在移动设备中日益普遍,移动设备包括膝上型计算机、平板计算机、数码相机、智能电话以及其他移动数据、消息收发和/或通信设备。通常,用户使用与计算设备相关联的相机以拍摄各种图片,诸如风景、人物、演示、白板、名片、文档、草图、绘画等的图像。用户可以参考所捕获的图像,以调用其中所包含的信息,诸如图表、图片、列表和其他文本,和/或将它们电子地递送给其他用户、存储服务或设备。然而,提取图像中的特定区域以经由扫描获得电子可用和/或可编辑信息仍然是具有挑战性的。
此外,因为照片通常尺寸相当大并且包含丰富的文本和图形信息,由设备自动选择的用于捕获的图像区域可能不是用户所期望的图像区域,和/或存在单个图像中存在多个兴趣区域。对包括用户感兴趣的所有项的图像的特定部分的识别仍然是低效的并且易出错的。因此,针对图像的有效扫描以及针对用户的图像区域检测和选择过程的管理,仍然留有对于新的和改进的想法的重要空间。
发明内容
根据本公开的第一方面,数据处理设备包括至少一个处理器和一个或多个计算机可读介质。计算机可读介质包括指令,指令在由至少一个处理器执行时使至少一个处理器经由图像扫描应用接收图像,以及自动检测图像中的多个离散的候选区域。此外,指令使至少一个处理器标识用于扫描的多个离散的候选区域的子集,子集包括第一区域和第二区域,并且接收用于发起至少第一区域和第二区域的扫描的信号。此外,响应于信号,指令使至少一个处理器在实质并行的过程中至少捕获第一区域和第二区域,以及至少将与第一区域相对应的第一图像内容和与第二区域相对应的第二图像内容存储在已扫描的图像文件夹中。
根据本公开的第二方面,一种方法包括经由图像扫描应用接收图像,并且自动检测图像中的多个离散的候选区域。此外,该方法包括标识用于扫描的多个离散的候选区域的子集,子集包括第一区域和第二区域,并且随后接收用于发起至少第一区域和第二区域的扫描的信号。此外,响应于信号,该方法涉及在实质并行的过程中至少捕获第一区域和第二区域,并且随后至少将与第一区域相对应的第一图像内容和与第二区域向相对应的第二图像内容存储在已扫描的图像文件夹中。
根据本公开的第三方面,一种图像处理系统包括用于经由图像扫描应用接收图像的手段,和用于自动检测图像中的多个离散的候选区域的手段。此外,该系统包括用于标识用于扫描的多个离散的候选区域的子集的手段,子集包括第一区域和第二区域,以及用于接收用于发起至少第一区域和第二区域的扫描的第一信号的手段。此外,系统包括响应于第一信号,用于在实质并行的过程中至少捕获第一区域和第二区域的手段,以及用于至少将与第一区域相对应的第一图像内容和与第二区域向相对应的第二图像内容存储在已扫描的图像文件夹中的手段。
本发明内容被提供以简化的形式引入概念的选择,这些概念将在以下的具体实施方式中进一步地被描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或者所有缺点的实现。
附图说明
附图仅以示例方式而非限制方式描绘根据本教导的一个或多个实现。在附图中,相同的附图标记表示相同或相似的元素。此外,应当理解,附图不一定是按比例的。
图1A和图1B分别图示了图像扫描应用和环境的实现;
图2是图示了在用于扫描的图像中用于管理区域的分布式计算环境的一个实现的概念图;
图3是图示了针对应用的、被配置为提供扫描工具和选项用户界面的实现的显示图;
图4是用户经由计算设备接收用于扫描的图像的示例;
图5A是针对区域检测过程的实现的图像分割过程的示例;
图5B是图示了针对应用的、被配置为向扫描工具提供所选择的图像中的多个区域的用户界面的实现的显示图;
图6A和图6B是图示了针对应用的、提供扫描工具其中图5B中的多个区域已经被捕获并且被存储在文件夹中的用户界面的实现的显示图;
图7A和图7B是图示了针对应用的、被配置为提供扫描工具,其中第一用户输入和第二用户输入使用于扫描的两个区域被取消选择的用户界面的实现的显示图;
图8是图示了针对应用的、被配置为针对剩余被选择的那些区域提供扫描工具的用户界面的实现的显示图;
图9A和图9B是图示了针对应用的、被配置为提供扫描工具,其中第一用户输入和第二用户输入使用于扫描的两个区域被选择的用户界面的实现的显示图;
图10是针对计算设备的用户接收用于扫描的图像的示例;
图11是由被配置为检测图像中多个区域的应用所捕获的现实世界场景的示例;
图12A和图12B是图示了针对应用的、被配置为提供扫描工具,其中图11中的多个区域已经被捕获并且被存储在文件夹中的用户界面的实现的显示图。
图13是用于扫描选择工具的实现的过程流程图;
图14是图示了用于管理扫描选择的过程的实现的流程图;
图15是图示了可以被用以提供本文所描述的机制的实现的示例计算设备的框图;以及
图16是图示了被配置为从机器可读介质中读取指令的示例机器的组件的框图。
具体实施方式
在以下详细描述中,通过示例阐述了许多具体细节以便提供对相关教导的透彻理解。然而,可以在没有这些细节的情况下实践本发明教导是明显的。在其他情况下,公知的方法、程序、组件和/或电路已经在相对高的水平上进行了描述(没有细节)以便避免不必要地混淆本教导的各方面。
以下实现引入了可以通过提供对图像中的所有潜在的可扫描区域的自动检测来增强用户扫描体验的扫描应用工具箱。为了标识用于扫描的区域,一些应用可以检测被称为“四边形(quad)”或四边形形状的区域(quadrangular-shaped region)。在一些情况下,四边形表示其中任何其他场景制品或背景被丢弃或移除的文档或其他对象。然而,传统的基于扫描的应用程序经常在图像中指定不是所期望的四边形区域,或者失败检测到用户所期望的区域。此外,在图像中存在多个可以检测到的四边形的情况下,用户必须进行多次尝试以获取用户旨在捕获的所有四边形。传统上,扫描工作流程包括一系列步骤,其中用户可以:(1)将相机指向现实世界场景;(2)拍照;(3)裁剪或拖动文档或其他对象边界以更精确地围绕兴趣对象;(4)清理所选择的图像内容(过滤、透视校正等)以及;(5)保存文件和/或共享已扫描的项目。关于在单个现实世界场景中获取多个兴趣对象,用户必须重复以上步骤并且尝试将应用引导到检测同一场景中的下一、但还未被捕获的兴趣区域。这个过程会很快变得令人厌烦和重复。所公开的实现允许用户查看先前捕获的(静态)图像和/或经由扫描应用实时(实况)捕获的图像,并且在没有进一步用户输入的情况下,示出了由应用自动检测到的场景中的所有可用扫描候选区域。将应用快速并且有效地定向到用于扫描的图像的所捕获的多个部分的能力可以允许用户在处理电子内容时增加工作流效率。此外,该系统可以在查看较大图像的同时,向用户提供对可扫描图像内容的多个独特的区域的存在或可用性的更广泛的认识。
如上所引入的,各种应用可以用以捕获和/或编辑数字图像或电子内容。通常,术语“电子内容(electronic content)”或“图像(image)”包括可以被视觉地表示的任何数字数据,包括但不限于电子文档、媒体流、实时视频捕获、实时图像显示、文档、网页、超文本文档、任何图像、数字视频或视频记录、动画、以及其他数字数据。作为示例,本电子内容可以包括图像捕获和照片扫描应用,或者被配置为提供针对利用数字图像而使用的工具的其他软件。
此外,在一些类型的文档内,电子内容可以被理解为包括或被分割成一个或多个单元,这些单元将被称为图像内容区域(“内容区域(content region)”),或更简单地被称为区域。通常,术语“区域(region)”描述了作为图像的独特的或离散的片段的可标识的和/或可选择的数字内容的部分。作为示例,电子内容(诸如,数字照片)的一个集合可以被表征为多个区域或由多个区域表征,这些多个区域可以各自包括一个或多个图像内容部分(“内容部分(content portions)”)。在不同的实现中,第一图像内容区域可以与同一图像中的另一、第二图像内容区域的部分重叠。因此,内容区域包括可以由系统限定或辨别的电子内容的任何部分。例如,内容区域可以根据内容部分本身的特性或者相对于其他内容部分的特性(例如,颜色、亮度水平、边缘检测、形状、符号、像素)自动辨别,或者可以由审阅者或终端用户手动限定(例如,所选择的像素或对象集),或者数字图像的任何其他所选择的部分。
此外,在一个示例中,终端用户(或者“用户”)是捕获、编辑、查看、管理或删除电子内容的片段的用户,包括创建、查看或更新电子内容中的所选择的区域。终端用户包括应用程序的用户,以及本文所描述的装置和系统。此外,为了本说明书的目的,术语“软件应用(software application)”、“软件(software)”或“应用(application)”指执行有用工作的计算机程序,通常与计算机本身无关。软件应用的一些非限制性示例包括摄影软件、图像捕获/编辑应用、文字处理器、电子表格、幻灯片、演示设计应用、会计系统和电信程序,以及游戏软件、实用和生产力工具、移动应用、演示图形和其他生产力软件。
可以包含所公开特征的软件应用可以被安装在客户端设备上,或者与第三方应用相关联,诸如被配置为与设备通信的web-浏览器应用。例如,这些设备可以包括台式计算机、移动计算机、移动通信设备(诸如,移动电话、智能电话、平板计算机等)、智能电视、游戏设备、机顶盒、和/或包括相机和/或图像显示能力的其他计算设备。
通常,这种扫描应用允许终端用户使用由与设备相关联的相机所捕获的或经由从存储器所存储的或所访问的图像以扫描文档、演示、现实世界对象和其他主题。此外,在一些实现中,基于相机的扫描应用可以被配置为校正诸如纸张、名片、白板、屏幕等的矩形或其他多边形对象的透视效果。在不同的实现中,软件应用诸如在Microsoft Office(例如,Office/>)中所提供的程序和其他应用可以提供各种图像捕获和编辑工具,包括扫描和标识图像中的不同区域。其他示例包括Microsoft/> Windows Fax和Genius/>ScannerGoogle/>和Helmut Film/>GoogleEvernote/>这些是非限制性示例,并且任何其他电子内容编辑或查看应用可以受益于所公开的实现。
在图像扫描期间,在存在多个可用于扫描的潜在的区域的情况下,终端用户可能被减慢或受阻。作为一个示例,扫描(scan)或扫描(scanning)是指应用标识、选择、隔离或以其他方式确定在图像中的用户可能感兴趣的特定区域的边界的机制。因此,扫描可以实时(例如,当相机指向场景或(多个)对象时)和/或在存储器中捕获、生成或存储图像或视频之后发生,并且可以理解为允许在图像内的特定区域的高分辨率捕获。换而言之,在一些实现中,扫描可以涉及在较大的、所捕获的图像内捕获较小区域。
以下实现被配置为向用户提供在单个图像中检测多个扫描候选区域的能力。在一些实现中,如果在图像中有多个四边形可用或者被检测到,则用户在与所期望的四边形相关联的区域中手指轻击可以被配置为,帮助确定与“轻击的”区域相关联的、潜在的四边形的边界(即,周界)。这种应用使得用户能够捕获他们选择的一个或多个四边形。因此,在不同的实现中,用户可以将便携式设备的相机对准朝向对象,并且使用按钮、语音命令、触摸、触笔、鼠标、方向键和/或其他合适的输入设备来发起对象的图像的捕获或记录。备选地,用户可以从存储器访问图像。当场景被接收应用到时,扫描操作可以发生以检测现实世界场景的区域。图像选择可以发起图像的各种处理以检测所有潜在的可扫描的区域,并且将这些区域呈现给用户和/或继续进行将捕获每个区域作为分离的、离散的图像内容文件。
为了更好的将本系统和方法介绍给读者,图1A和图1B呈现了用于实施多区域扫描系统的(该系统在图2中被更详细地示意性图示)的代表性区域选择和检测扫描环境的示例。在不同的实现中,环境可以包括多个计算设备终端用户,或者简单地包括可以捕获、查看、编辑和/或修改图像的“用户”(例如,第一用户、第二用户、第三用户等)。一个或多个用户可以经由用户设备与所呈现的图像交互或操纵所呈现的图像。当用户查看诸如图像的电子内容时,图像的各种区域可以被检测或者以其他方式被标识为潜在地可扫描的(即,候选区域)。在一个实现中,用户可能希望标识在单个图像中的多个可扫描区域。
在图1A中,第一用户102持有朝向第一现实世界场景(“第一场景”)104的第一计算设备(“第一设备”)150。第一场景104包含多个对象114被布置的桌子112。在该示例中,每个对象可以被理解为代表名片或者与各种人物或者组织有关的其他单独信息集。每个对象(此处包括第一对象130、第二对象132、第三对象134、第四对象136、第五对象138和第六对象140)是与其他对象分离的并且独特的。第一设备150包括显示器120、并且当与第一设备150相关联的相机光学镜头指向桌子112时,第一图像预览100(“第一图像”)经由图像扫描应用被呈现在显示器120上。如上所述,第一图像100可以与任何类型的数字媒体文件相关联。
如图1B所示,第一图像100正在显示器120上被预览为数字图像帧,该数字图像帧包括多个图像扇区或候选区160,包括第一区域170(与第一对象130相对应)、第二区域172(与第二对象132相对应)、第三区域174(与第三对象134相对应)、第四区域176(与第五对象136相对应)、第五区域178(与第五对象138相对应)和第六区域180(与第六对象140相对应)。图像扇区或候选区域可以被理解为是指潜在的或可能的可扫描区域。这里的每个扇区由小的矩形形状(四边形状或“四边形”)表示。然而,在其他实现中,扇区可以由其他规则形状限定,例如三角形、圆形、五边形和不同几何轮廓,或者其他不规则形状。虽然为了该示例的目的仅描绘了六个扇区,图像可以包括任何数目的扇区。此外,在该情况下,为了简化的目的,每个扇区或者四边形与真实世界中的分离的项目相对应。
在一些但不是所有实现中,显示器120可以被配置为从与第一设备150相关联的相机中接收数据,以通过图像捕获或者图像扫描应用在呈现相机的视场中的物品或对象的实况预览。如上所注意到的,在一个实现中,应用可以提供结合图像预览的图形用户界面,本文称为图像内容查看界面(“界面”)。在一些实现中,界面可以在显示器120以‘全屏’在显示器上呈现或显示器120的部分上呈现。此外,在一些实现中,界面可以是实质透明的或半透明的,使得用户与屏幕或者图像的交互被接收作为通过应用的输入,同时在没有附加的界面图像叠加的情况下图像本身保持基本可见,否则附加的界面图像会阻碍查看图像。然而,在其他实现中,图像捕获应用可以呈现与图像相关联的、覆盖在图像上或与图像相邻的各种图形元素,诸如可视指示器、菜单、设置或其他选项。
通常,术语“界面”应当被理解为是指用于通过客户端应用向应用用户传送内容的机制。例如,界面可以包括可以经由本地应用用户界面(UI)呈现给用户的弹出窗口、控件、可致动的界面、交互按钮或可以通过本地应用UI向用户示出的其他对象,以及用于呈现与那些本地控件相关联的内容的、特定应用的本地机制。此外,“致动(actuation)”或“致动事件(actuation event)”是指与经由界面的、与应用的特定输入或使用相关联的事件(或具体事件序列),诸如手指轻击、键盘命令、语音命令或鼠标点击,它们可以触发在显示器上的改变或者应用或设备功能的改变。
在一些实现中,与图像捕获应用相关联的界面可以被配置为显示或者呈现各种指示器以指导用户到图像中已经被检测到的任何可扫描区域。例如,用户界面可以被配置为显示或呈现视觉线索或符号,或其他致动选项,其可以允许用户容易地导航穿过任何检测到的区域和/或简单地警告用户在相同图像中多个或备选地候选区域可用。在一些实现中,可以以实质同时的方式突出显示或者被呈现检测到的区域,使得用户可以一次查看在图像中所有的候选区域。在其他实现中,应用可以仅检测最可能表示用于扫描的所期望的对象的区域,和/或如果(例如)用户后续地提供了与针对其他较不可能的(多个)区域的检测的请求相对应的某种输入,则检测备选的或附加的(第二)区域。
此外,应用可以合并设备150的功能以实施本文所描述的基于相机的扫描技术。界面190被图示为取景器,其可以呈现来自相机的当前图像和/或当图片被已经拍摄或正从存储设备访问图片时切换以呈现所捕获的图像(即,来自存储器)。此外,在一些实现中,用户可能能够通过与显示器120的取景器部分的交互来修改和/或选择所捕获图像的部分。
在图1B中,每个区域与图1A的第一场景104中的特定特征、对象或地区相关联或者对应。在不同实现中,与检测到的区域相关联的边界被突出显示或者以其他方式差别化,以警告用户区域已经被检测到和/或正在被选择用于扫描。在图1B中,区域160中的每个区域已经被自动检测到并且通过可视指示器190(此处由围绕区域160中的每个区域的边界的粗线或重线表示)被标识。然而应当意识到在许多情形下,用户可能期望候选区域的不同集的选择,而不是由应用标识的区域。如下关于图7A-图9B的讨论,在不同的实现中,系统可以包括设置以接收来自用户的、指示哪个区域是所期望的用于包括(或者排除)在即将到来的扫描操作的输入。
在该情况下,可以假设用户是具有由系统标识的候选区域集的内容。因此,在没有做出输入或改变的预设时间段之后,和/或与发起扫描操作的请求相对应的用户输入之后,系统可以继续进行多区域扫描操作。如下面将更详细描述的,其中可以同时选择六个区域160用于扫描,并且每个区域被捕获为离散的文件。该过程可以显著地减少从图像收集所期望的内容所需的时间。用户能够指向照相机(或访问保存的图像),并且应用可以自动检测可用于扫描的所有候选区域,而不是要求用户重新拍摄照片、裁剪照片、放大、聚焦、调整照明条件、增加对比度、或操纵其他图像参数以试图“同轴”应用以单独地检测所有所期望的区域。
现在参考图2,描绘了多区域检测扫描系统(“系统”)200代表性架构的示例。在不同实现中,系统200可以被配置为呈现用于显示电子内容和标识可扫描区域的用户界面。系统200还可以进一步被配置为基于用户输入更新候选区域的扫描集。应当理解,此处所呈现的系统200仅仅是示例实现,为了清楚起见仅呈现了一些方面,并且各种各样的其他实现都是可能的。
在图2中,系统200包括设备240。设备240可以包括能够呈现图像和/或图像相关内容的任何类型的设备,诸如相机、移动电话、平板计算机、膝上型计算机、台式机、游戏设备、投影仪和其他这样的设备。设备240可以包括各种硬件和软件组件。虽然在该示例中扫描应用250被图示为本地安装在设备240上,但是在其他实现中,扫描应用250中的一些或所有方面或特征可以从另一设备访问或者从云存储计算服务访问。
在不同实现中,扫描应用250被配置为经由设备240接收图像内容210。图像内容210可以先前已经捕获或是“静态的”——从存储器214(本地、外部或基于云的存储器)访问——或者可以是“实况”图像212并且当前被形成帧或者实时捕获(例如,在扫描操作的预期中)。图像内容210可以由扫描应用250经由图像处理模块252接收,该图像处理模块被配置为处理图像内容210的数据并且检测图像的与近似或基本四边形形状的对象相对应的部分。特别地,图像处理模块252可以被配置为标识图像内的四边形,该四边形可以被表征为用于扫描的潜在的区域。可以使用各种适合在图像和其他文档中查找任意形状的特征提取技术来检测这些四边形。
在一些实现中,图像处理模块包括聚类算法或其他图像分割处理器254。如以下将参考图5A所讨论的,图像分割处理器254可以应用各种统计技术以确定给定像素是要被分类为前景像素还是背景像素。在一个实现中,分割算法可以输出每像素概率数据集,其代表每个像素可能是前景还是背景像素。像素概率数据可以进一步由全局二元分割算法处理,该算法可以使用像素概率数据作为数据项以将图像分割成经分割的图像。在一些实现中(见图5A),图像分割处理器254还可将分割指示器(例如,前景、背景的标记)与输入图像的像素相关联。这些分割指示器可以被用以修改和/或处理输入图像,以产生将被传送到边缘检测器256的输出图像。
在其他实现中,可在边缘检测之前进行附加的预处理。例如,系统可以被配置为应用图像过滤器、增强对比度、对亮度的调整、按比例缩小、灰度转换、中值过滤和其他类型的过滤器。在一些实现中,预处理还可包含图像的按比例缩小、对比度增强和噪声过滤中的一个或多个。按比例缩小可以帮助降低图像的分辨率和将被必须处理的像素的数目。随着图像分辨率的提高,处理图像消耗了更多的计算资源,并且边缘检测会导致更多的错误(例如,不想要的)边缘。因此,按比例缩小可加速处理并且实现改进的边缘检测。此外,在另一实现中,可以采用对比度增强来将图像中的最浅色调设置为白色,并且将最深色调设置为黑色。这还可以通过发现对比度和/或亮度中的急剧差异的检测算法来改进边缘和线的检测。在一些实现中,还可采用保留边缘的噪声过滤技术,诸如双边和/或中值过滤。
如上所述,在不同的实现中,系统可以采用一个或多个边缘检测模型来评估来自图像分割处理器254的输出图像内容。边缘检测器256包括或以其他方式使用边缘检测器模型或算法,该模型或算法可操作以基于视觉差异检测边缘,例如亮度的急剧改变。当已经标识出边缘时,可以将边缘接合到已连接的线中以形成四边形。例如,可以通过边缘检测来标识顶点(角),然后可以连接这些顶点以形成四边形。例如,这可以包括校正检测到的边缘中的缺陷并且导出与边缘相对应的线。因此,可以使用检测到的边缘和线来导出潜在的四边形集,其中线是从沿特定方向的类似定向的边缘检测到的,并且随后被组合以形成四边形。边缘检测器256在聚类的(输出)图像内容上的应用可以显著地减少处理时间并且更有效地利用计算资源。通过首先标识图像中的前景像素或者群集,边缘检测器256可以受益于已预处理的图像内容的接收。不是在图像的所有像素上运行边缘检测器,群集可以聚焦并且缩短四边形的搜索和检测过程。
作为下一步骤,在一些实现中,经处理的图像内容可被传送到四边形检测模块262。四边形检测模块262可以复查由图像处理模块252分享的数据,并且标识在该图像中哪些边缘和四边形应该被指定用于扫描。已标识的区域被提交给四边形候选区组件266,并且将包含将在下一步骤中用于扫描的、被作为目标的区域,除非用户修改该选择。检测到的区域可以经由(多个)可视指示器模块288被可视指示器覆盖,并且被提交到四边形显示组件266以用于在设备显示器290上呈现。
在不同实现中,设备240被进一步配置为经由用户输入处理270接收用户输入202。用户输入202可以基于所使用的输入装置的类型而广泛地变化。在图2中,用户输入202可以被理解为与用户正在查看或访问的图像的某一具体目标部分或方面相关联或对应。在一个实现中,用户输入处理器270可以确定输入是否定向到检测到的候选区域中的一个检测到的候选区域。如果由用户输入模块274接收的用户输入特定地选择(或取消选择)候选区域,则该输入可以被用以修改已提出的区域扫描子集272。作为一个示例,用户输入可以包括触摸屏界面上的触摸或者由用户所期望的用于包括(或移除)在即将到来的扫描操作中的鼠标点击指定的区域。作为响应,扫描候选区域集(区域扫描子集272)将被改变。在一个实现中,由用户做出的改变经由(多个)可视指示器模块288由更新的可视指示器反映,并且被重新提交到四边形显示组件266用于在设备显示器290上呈现,向用户确认该集已经按照请求被修改。
一旦在图像中的候选区域已被选择用于扫描,触发器(例如,用户输入或者一些时间的流逝)可以向扫描触发检测模块280发信号,关于具体区域扫描子集272的扫描操作应当发起。区域捕获模块292可以捕获单独区域中的每个单独区域,并且将这些区域296处理为分离的图像内容210文件。针对每个区域的图像内容可以被保存在存储模块298中,用于由其他应用或由用户访问。
为了清楚起见,现在将参考图3-图6B来呈现多个可扫描区域选择过程的一个实现。在图3中,描绘了图像扫描应用(“应用”)300,其由在第二计算设备(“第二设备”)320的显示器390上示出的图形用户界面(GUI)表示。在不同的实现中,应用300被用以发起GUI和各种用户界面元素、特征和控件的显示,以支持经由相机(未示出)的捕获图像、扫描和/或处理图像。
在不同的实现中,系统可以包括用于接收用户输入和选择的设置,以便在特定的用户会话期间建立针对相机和应用的合适的设置。如图3所示,针对示例的目的,用户被描绘为访问应用菜单312,经由该菜单提供了几个选项,包括几个捕获模式。用户在扫描模式标题下的子选项中导航,并且选择被标记为“多区域”的模式310的选项。可以理解,每个子选项可以被配置为激活或者应用系统配置,该系统配置可以检测场景改变和稳定性,以及以与所选择的设置相对应的方式标识关键的兴趣区域。这些模式可以在相机操作启动时提供给用户,可以被设置为默认模式,和/或经由链接到相机设置的远程设备来改变。虽然这里只给出了几个子选项,但是各种各样的其他模式也是可能的,包括由用户定制设计的模式。
接着参考至图4,第二用户被示为观测包括在墙壁402上的公告板404的第二现实世界场景(“第二场景”)400。第二用户将与第二设备320相关联的相机镜头指向或者定向第二场景400的部分。第二场景的目标部分是展示多个对象的布置的公告板404。在本示例中,每个对象可以被理解为表示小的海报、卡片、剪贴画、印刷资料、文档、或者信息的其他单独表达。每个对象(此处包括第一对象410、第二对象412、第三对象414、第四对象416、第五对象418、第六对象420、第七对象422、第八对象424、第九对象426、第十对象428、第十一对象430、第十二对象432、第十三对象434、第十四对象436、第十五对象438、第十六对象440和第十七对象442)是与其他对象分离的并且独特的。另外,第二场景400包括非四边形对象,诸如包括13个字母(拼写为“SHOW AND TELL”)的字母450。
在许多情况下,用户他们本身可以向正在被捕获或者查看的现实世界场景的“设置”做出贡献。例如,在图1A中,名片可以被以相对地整齐的、有组织的并且实质对称的布置的行和列放置在桌子上,以期进行扫描。然而,在一些实现中,在现实场景的中的对象可以被随意地放置,而没有任何实际的模式,和/或以相对于彼此不规则的布置来呈现。这可以被理解为在图4中的情况,其中对象相对于彼此以变化的角度、定向和位置被钉到或用胶带固定到公告板404。此外每个对象具有不同的表面面积或内部尺寸、以及不同的整体形状(例如,平行四边形、梯形、矩形、正方形、或其他不规则的四边形)或边界(例如,周界或轮廓)。虽然此处以黑白绘图示出,但是对象也可以是不同的颜色。在一些实现中,本文所描述的系统可以被配置为检测候选区域,而不管对象布置的方式。因此,应用可以接收包含这种任意的或者无系统的布置的图像,并且继续进行自动候选区域检测过程,如将在下面描述的。
在不同实现中,已提出的系统可以包括用于标识图像的部分并且从背景中分离前景对象(例如,突出的项)的设置。在一些实现中,在图像中检测多个候选区域中的初始步骤是聚类,其中图像数据被分组为类或群集,使得在群集内的对象在它们之间具有高相似度,但是与其他群集的对象非常不同。在这种场景中,图像可以被视为空间数据集,并且图像分割的过程被用于发起将图像划分成连接的像素集的集合。在一个实现中,基于图像的变化的强度和纹理值,图像分割可能导致在图像之内的非重叠和同质组的描绘。在一些实现中,分割算法可以使用预处理方法,该预处理方法涉及对给定图像去噪以通过诸如中值滤波器的合适的滤波器。
可以通过提供分割处理来提供在图像中从背景层基本实时分割前景层,分割处理可以基于包括运动、颜色、对比度等一个或多个因素。为了减少分割错误,可以有概率性地融合颜色、运动以及可选的对比度信息,以准确并且高效地推断前景和/或背景层。
存在许多不同的算法以执行背景-前景分割,它们的大多数依赖在图像中的像素的颜色数据。这些方法典型地在具有相同或相似的颜色的彼此靠近的像素是图像中相同对象的部分的假设下操作的,这通常通过分析在像素的特定模式中的颜色分布或梯度来确定。其他常规背景前景分割系统使用由相机提供的深度数据以利用深度图像相对于颜色数据的较小分辨率。特定地,许多图像捕获设备也可以具有可以形成场景的3D空间的3D或深度传感相机(诸如,RGBD相机)。这可以由在单个设备(诸如智能电话或平板计算机)上使用具有相机或者传感器阵列的立体系统实现,并且该立体系统使用三角测量算法以确定针对场景中点的3D空间坐标以形成针对该场景的深度图或深度图像。生成经分割的图像的其他方法也是已知的,包括但不限于色度键分割(色度键控)、背景差分、K均值聚类、基于密度的具有噪声的应用空间聚类(DBSCAN)、均值移动、凝聚层次聚类、使用高斯混合模型(GMM)的期望最大化(EM)聚类或其他图像分割方法。
图5A示意性地示出了本处理的一个示例。现在可以理解为以包括经分割的视图500的方式呈现在图4中所示的公告板404和它的相关联的对象。场景已经被划分成区域集,理想地表示图像的更有意义的区域,诸如前景对象,而不是背景。在一些实现中,区域可以是被分组为诸如3D工业对象的图像中的线段和圆弧段的结构的边界像素集。经分割的区域也可以指具有边界和特定形状(诸如,圆形、椭圆或者多边形)两者的像素组。例如,当用户发起多区域模式时,可以将更突出的前景区域可以从背景区域520中区别开。可以理解由系统使用的算法将产生图像区域集,该图像区域集可以被传达和/或存储用于下一处理步骤。经分割的数据可以由在原始图像上的覆盖、所标记的图像、边界编码、象限四分树数据结构、属性表或其他这种有注释的图像数据表示。在该示例中,群集的轮廓或边界被示出,其将被用作针对后续的边缘检测处理的参考。为了参考的目的,在图5A中可以看出,已经标识了28个群集的集。该集包括与在图4中第二场景400的17个对象中的每个对象相对应的群集,以及与在字母450中每个字母对象相对应的群集。
在一些实现中,本文所描述的系统包括或以其他方式利用边缘检测器,该边缘检测器可操作以基于视觉差异检测边缘,诸如亮度的急剧改变。当已经标识出边缘时,这些边缘可以被接合到已连接的线中以形成具有四边形形状的周界。例如,顶点(角)可以通过边缘检测机制来标识,并且这些顶点可以被连接或者映射以形成四边形。结果是,可以基于检测到的边缘和线来导出潜在的四边形区域集,其中从沿着特定方向的类似定向的边缘检测这些线,并且然后将这些线组合以形成四边形。在一些实现中,可将边缘检测器主要或完全定向到在先前步骤中所标识的前景群集而不是整个图像,从而此显著减少评估图像所需的处理功率的量以及减少区域检测时间。
在图5B中呈现了这种机制的示例,其中在显示器540上呈现了第二图像预览(“第二图像”)530,其表示第二设备320的相机正在接收的第二场景400的部分。在不同的实现中,一旦应用300的扫描或多区域检测特征已经被激活或启动,应用300可以被配置为自动检测图像中的用于扫描的区域。然而,应当理解,在其他实现中,应用可能不需要在被动模式和主动模式之间的任何转变,相反可以被配置为一旦发起图像查看就检测用于扫描的区域。
在图5B中,第二图像530也可以包括多个可视指示器(“指示器”)550。在这种情况下,每个指示器与检测到的区域的周界相关联或者围绕检测到的区域的周界。指示器550可以指示用户已经检测到候选区域,和/或强调区域的边界。这种指示器可以出现在用户界面上以帮助区分或者突出显示在捕获的图像之内检测到的和/或已经被选择四边形。指示器可以在不同实现中变化,并且可以包括各种效果,诸如闪烁、亮度的改变、沿着检测到的区域的部分的图形元素的叠加、闪光、动画线、颜色改变、旗臶、诸如在每个顶点处的点或圆以及沿着边缘出现的虚线或实线的图形元素、或其他这样的可视指示器。例如,在图5B中,指示器550包括实质围绕十七个检测到的四边形候选区域的增加的亮度。可以注意到,11个字母虽然由先前的聚类算法标识为潜在地突出的对象,11个字母不与任何可视指示器相关联,11个字母已经被边缘检测器确定为是高度不规则的和/或非四边形的。
因此,在图5B中,十七个集群中的每个集群已由边缘检测器复查并且被划界为将包括由独特的并且分离的可视指示器扫描的目标的具体区域。更特定地,参考图4和图5B,第一区域570与公告板404的第一对象410相对应,第二区域572与第二对象412相对应,第三区域574与第三对象414相对应,第四区域576与第四对象416相对应,第五区域578与第五对象418相对应,第六区域580与第六对象420相对应,第七区域582与第七对象422相对应,第八区域584与第八对象424相对应,第九区域586与第九对象426相对应,第十区域588与第十对象428相对应,第十一区域590与第十一对象430相对应,第十二区域592与第十二对象432相对应,第十三区域594与第十二对象434相对应,第十四区域596与第十四对象436相对应,第十五区域598与第十五对象438相对应,第十七区域560与第十五对象440相对应,第十七区域562与第十七对象442相对应。
用户可以查看指示器550并且预览在扫描操作预期要捕获哪个区域。如果用户接受候选区域的所显示的阵列,他或她可以提交用户输入(此处被示为手指轻击按钮552)以激活扫描操作。这种输入可以触发对由系统检测到的单独区域的每个单独区域的自动捕获。在其他实现中,可以没有必要进一步用户输入以触发图像捕获。
在不同实现中,系统可以包括用于以支持多区域检测系统的用户体验的方式存储由相机捕获的图像的设置。在图6A中,在图5B中发起的扫描操作已经被完成。一旦被捕获,针对候选区域的每个候选区域的离散的图像内容可以被保存为图像文件集。例如,在图6A中,经由已扫描的图像访问界面620来访问存储在‘/相机/存储’标题下的第一文件夹(为了说明,标记为“文件夹A”)。为了便于参考,将第二图像作为整体描绘的图标602与第一文件夹600结合显示。在一些实现中,已扫描的图像访问界面602可以呈现用于进一步与图像内容接合的一个或多个可选择的或者可动作的选项。示出的示例包括用户可以将第一文件夹600的一些或全部17个图像文件上传(或备份)到云或其他存储的上传选项622、用于容易地共享(例如,电子邮件发送、文本发送、社交媒体发布等)第一文件夹600中的一些或图像的共享选项624、以及用于移除或者擦除第一文件夹600的17个离散的图像内容文件中的一个或多个离散的图像内容文件的删除选项。一些实现还可以包括返回至主菜单的选项(主菜单选项632),或者导航至最后查看的内容(‘后退’选项634),以及其他导航或者编辑选项。
此外,用户可以选择文件夹本身或者与文件夹相关联的选项,以打开已扫描的图像查看界面630,如图6B所示。在该示例中,第一文件夹600一旦被打开,就被显露为包括多个已扫描的图像。每个图像与离散的图像内容相对应,该离散的图像内容被包含在一个检测到的区域中或者与一个检测到的区域关联。虽然在图6B中仅显示了六个已扫描的图像,可以提供滚动条670、“下一页”或者其他这样的机制以导航穿过整个第一文件夹600。在这种情况下,参考图5B和图6B两者,第一已扫描的图像650与第一区域570相对应,第二已扫描的图像652与第二区域572相对应,第三已扫描的图像654与第三区域574相对应,第四已扫描的图像656与第四区域576相对应,第五已扫描的图像658与第五区域578相对应,第六已扫描的图像660与第六区域580相对应等。
应当意识到,在许多情况下由系统初始地检测到的并且呈现的多个候选区域可能没有与用户所期望的用于扫描的具体区域集对应。在不同实现中,用户可以提供输入信号,该输入信号可以被应用300使用以细化或者改进区域检测过程。该信号可以变化,但可以包括用户输入,该用户输入指定或者标识候选区域中的一个或多个候选区域,以从扫描操作中丢弃或者移除,或者确认或者重新选择该区域。现在将参考图7A-图9B呈现这些机制的一些示例。
在图7A中,第二图像530连同指示器550一起在第二设备320的显示器540上再次示出。如前所述,借助于这些指示器550所呈现的17个区域中的每个区域可以被理解为包括自动检测到地潜在的扫描目标。用户可以查看指示器550,从而预览在扫描操作期间预期要捕获哪些区域。如果用户不接受所显示的区域阵列,他或她可以提交用户输入以取消选择检测到的区域中的一个或多个检测到的区域。在该示例中,用户350向与第六区域580相关联的像素中的一些像素提供第一输入710。作为响应,如图7B所示,第六区域580不再包括指示器。换而言之,尽管系统初始地检测到并且呈现了17个候选区域集,响应于用户输入,应用已经注册了取消选择,并且在第一扫描集730中仅剩余16个区域。
此外,在图7B中,用户350再次选定以经由第二输入720取消选择检测到的区域(此处是第十七区域562)。转向图8,经更新的第二扫描集800现在包括15个区域。换而言之,在两次用户输入之后,已经从集中拉出先前呈现为用于从第二图像530中扫描的候选的两个区域。因此,当扫描被发起时(如对按钮552的手指轻击所表示的),将捕获由系统检测到的单独区域的每个单独区域(减去两个所取消选择的区域)。在其他实现中,可以没有必要进一步用户输入以触发剩余区域的图像捕获。
应当理解到,虽然在本示例中,与第六区域580和第十七区域相关联的可视指示器被简单地移除,在其他实现中可视指示器可以被相反地修改。例如,指示器的亮度可以被减少,增加半透明度,减小边界轮廓的厚度,和/或改变指示器相对于剩余的(所选择的)候选区域的颜色等,以区分所取消选择的区域,同时继续将这些区域标识为潜在地可扫描的。
参考图9A和图9B示出了类似的机制。在图9A中,第二图像530连同可视指示器550一起再次被示出在第二设备320的显示器540上。如前所述,借助于这些指示器550所呈现的17个区域中的每个区域可以被理解为包括图像中的自动检测到的潜在的扫描目标。在一些实现中,指示器550可以不是标识将被扫描的扇区,相反被提供以向用户提供关于哪些区域被检测到并且可用于通过扫描来获取的建议或指导。换而言之,尽管系统初始地检测到并且呈现了17个候选区域集,除非用户提供了一些附加的(多个)输入来特定地选择所期望的区域,否则应用将不继续进行扫描操作。
在这种情况下,用户可以确认在扫描操作期间应该捕获他们特定地所期望捕获的已标识的区域中的哪个已标识的区域。如果用户希望扫描区域的任一区域,则他或她可以提交用户输入以选择检测到的区域中的一个或多个检测到的区域。在该示例中,用户350向与第六区域580相关联的像素中的一些像素提供第三输入910。作为响应,如图9B所示,第六区域580现在包括第一指示器930,该第一指示器930相对于针对未选择区域的剩余指示器,更大或更亮或是以其他方式独特的。
此外,在图9B中,用户350再次选定以经由第四输入920选择检测到的区域(此处是第十七区域562)。如果用户现在发起扫描操作,仅针对两个区域(第六区域580和第十七区域562)的图像内容将被捕获并且被存储在第一文件夹中。虽然与第六区域580和第十七区域562相关联的可视指示器被简单修改,在其他实现中,可视指示器可以相反地利用复选标记或一些其他确认的符号来增强。在一个实现中,所选择的区域可以与绿色指示器相关联,而未选择的区域保持红色(作为一个示例)。在其他实现中,可以示出其他视觉提示。
为了清楚起见,多区域检测扫描系统的另一示例在图10-图12B的序列中被示出。在图10中,第三用户1050被示为放置在第三计算设备(“第三设备”)1000,使得该设备的相机光学镜头被定向为朝向位于桌子1092的表面上的书本1090。打开的书本1090具有对用户1050可看的两页(左手页1010和右手页1020)。当第三用户1050利用第三设备1000向下看时,可以感知到若干图像和文本段。在一些实现中,与第三设备1000相关联的图像捕获软件应用可以在接收到图像时(即,在实况预览模式中)自动地发起包括图像分割和边缘检测算法的实现的图像处理范例。然而,在其他实现中,第三用户1050可以选择在此次将图像作为整体来捕获(如从第三设备1000发出的虚线动作线所示),并且保存该图像用于在后续的时间扫描。
该后续的扫描操作在图11中示出,其中第三设备1000的显示器1110呈现右手页1020的所保存的图像1120。在任何后续的时间由扫描应用的实现打开的或者访问的所保存的图像1120是如前所述的多区域扫描检测的主题。静态的图像被处理并且受制于图像分割处理和边缘检测处理。在图11中,在所保存的图像1120中标识多个目标区域1150。每个目标区域还与可视指示器相关联。响应于触发扫描处理的用户输入(或在预设时间段的延迟之后),针对每个检测到的区域(在该示例中,14个区域)的图像内容将被捕获为离散的数据集。
接着参考图12A,在图11中发起的扫描操作已经完成。一旦捕获针对候选区域的每个候选区域的离散的图像内容,该离散的图像内容被保存为图像文件集。在该示例中,第一文件夹600也被简单地示出用于比较的目的,在第二文件夹1200(“第七年级”)之后,其中两个文件夹都存储在‘/相机/存储’标题下,并且经由已扫描的图像访问界面1220来访问。为了便于参考,将第二图像作为整体描绘的图标1202与第二文件夹1200结合显示。在一些实现中,已扫描的图像访问界面1220可以呈现用于进一步与图像内容接合的一个或多个可选择的或者可动作的选项(参见图6A)。
在不同实现中,用户可以选择文件夹本身或者与文件夹相关联的选项,以打开已扫描的图像查看界面1230,如图12B所示。在该示例中,第二文件夹1200一旦被打开,就被显露为包括多个已扫描的图像。每个图像与离散的图像内容相对应,该离散的图像内容被包含在检测到的区域中或者与检测到的区域关联。虽然在图12B中仅显示了六个已扫描的图像,可以提供滚动条或者其他这样的机制以导航穿过整个第二文件夹1200。
应当理解,除了本文所描述的工具之外,当使用该应用程序时也可以保持其他扫描特征对用户可用。例如,在一些实现中,用户可以选择各种指示器以允许对所选四边形的调整,诸如通过拖动角以重新定位角。作为另一实例,用户可通过与用户界面的交互来选择一个角来限定定制的四边形,并且应用可以在一些情况下基于用户对指定角的选择而自动地导出对应的四边形。用户还能够利用用户界面来应用选择和拖动工具,以更直接地标识用于选择的区域(例如,定制的四边形)。
为了清楚起见,图13示出了用于在单个图像中自动检测扫描区域的过程的一个实现。在该示例中,第一阶段1300包括激活或访问与设备相关联的多区域检测系统或模式。该模式将通常经由与计算设备相关联的扫描应用来访问。系统可以随后在第二阶段1310接收图像数据,该图像数据将被提交用于在第三阶段的图像处理1320。在一些实现中,分割处理1322可以生成聚类的图像输出。然后,关于该输出的边缘可以随后被检测到1324。在第四阶段1330中,可以在经处理的图像中检测到多个区域,这可以在第五阶段1340中在设备显示器上发起候选区域的呈现,通常是经由在与所标识的区域相关联的区域中或者周围的可视指示器的叠加。这些区域可以是在第六阶段1350中的扫描操作的对象。然而,在一些实现中,用户可以在第七阶段1360中修改所选择的区域,这将改变在第八阶段1370中将被提交用于扫描的候选区域集。一旦对全部或者经修改的扫描集发起扫描操作(第六阶段1350),就可以在第九阶段1380中捕获针对这些区域中的每个区域的图像内容,并且该图像内容将被存储为分离的图像文件1390。在一些实现中,为了易于标识,文件可以共同地存储在相同的文件夹中。
图14是图示了管理电子内容中的潜在的扫描区域的检测和选择的方法1400的实现的流程图。在图14中,第一步骤1410包括经由图像扫描应用接收图像,并且第二步骤1420包括自动检测图像中的多个离散的候选区域。在第三步骤1430,该方法包括标识用于扫描的多个离散的候选区域的子集,其中该子集包括第一区域和第二区域。第四步骤1440包括接收用于发起至少第一区域和第二区域的扫描的信号。该信号可以包括用于触发图像捕获或者发起扫描操作的用户发起的输入,或者可以包括诸如检测预设时间流逝的其他事件。在第五步骤1450中,该方法涉及响应于该信号,并且在实质并行的过程中捕获至少第一区域和第二区域。第六步骤1460包括在已扫描图像文件夹中至少存储与第一区域相对应的第一图像内容和与第二区域相对应的第二图像内容。
在其他实现中,该方法可以包括附加的或替换的步骤。例如,该方法可以进一步包括呈现用于访问所存储的图像内容的图形用户界面,并且随后在设备显示器上呈现针对第一图像内容的第一信息集和针对第二图像内容的第二信息集,例如作为单个文件夹中的文件。作为另一示例,该方法可以包括在设备显示器上呈现图像,并且随后利用第一可视指示器覆盖第一区域的至少第一周界,以及利用第二可视指示器覆盖第二区域的至少第二周界。
在另一示例中,多个离散的候选区的子集还可以包括第三区域。在这种情况下,该方法还可以包括接收与第三区域相关联的用于取消选择第三区域的第一用户输入,并且随后从多个离散的候选区域的子集中移除第三区域。在一些实现中,权利要求的方法还包括在设备显示器上呈现图像作为第一图像预览,并且通过在每个区域的至少一部分上可视指示器的覆盖来区分在第一图像预览中的多个离散的候选区域中的每个离散的候选区域。在一些其他实现中,该方法备选地包括接收与第三区域相关联的第一输入(例如,来自用户的),用于取消选择第三区域,以及移除覆盖在第三区域上的可视指示器。
在不同的实现中,多个离散的候选区域中的每个离散的候选区域在形状上实质是四边形的。在另一实现中,第一区域以第一定向(例如,相对于全图像的水平轴)为定向,并且第二区域以第二定向(例如,相对于全图像的相同水平轴)为定向,并且第一定向不同于第二定向。在一个示例中,第一区域的第一面积大于第二区域的第二面积。
在一些实现中,方法也可以包括经由聚类算法将图像划分为多个段以产生经分割的图像,并且将边缘检测算法应用于经分割的图像。在这种情况下,图像中的多个离散的候选区域的自动检测是至少基于边缘检测算法对经分割的图像的应用。在一些其他实现中,多个离散的候选区域的子集可以进一步包含第三区域,并且方法可以随后还包含接收与第一区域相关联的、用于选择第一区域的第一输入,接收与第二区域相关联的、用于选择第二区域的第二输入,并且响应于信号,随后从多个离散的候选区域的子集中移除第三区域(在发起扫描操作之前)。
作为另一示例,在多个离散的候选区域的子集进一步包括第三区域的情况下,方法还可以包括,响应于第一信号,在实质并行过程期间捕获第三区域,并且随后将与第三区域相对应的第三图像内容存储在已扫描的图像文件夹中。在一个实现中,该方法可以涉及响应于用户输入而自动地调整所选择的区域的第一周界的大小。
使用所公开的系统和方法可以使用户能够容易地查看图像并且查看图像中可用于扫描的多个区域。既在实时图像捕获中并且在存储的图像中预览所有潜在的候选区域的能力为用户提供了广泛的益处。该特征实质减少了扫描各种物品所需的时间;用户可以简单地将应用程序定向到图像,并且应用程序随后可以自动检测可以作为离散的图像文件获取的(多个)区域,而不是试图重新捕获相同的图像以获得用于扫描的新的四边形区域。此外,通过向用户提供用以选择在单个图像之内用于扫描的多个离散的区域的简单手段,用户可享受他们作为结果的扫描中的选择性。
为了说明本公开及其益处,本文呈现了结合图1-14所描述的系统、设备和技术的详细示例。这种使用示例不应被解释为对本公开的逻辑过程实现的限制,也不应认为来自本文所描述的那些的用户界面方法的变型在本公开的范围之外。在一些实现中,图1-14中描述的各种特征在各自的模块中实现,这些模块也可被称为和/或包括逻辑、组件、单元和/或机制。模块可以构成软件模块(例如,在机器可读介质上实施的代码)或硬件模块。
在一些示例中,硬件模块可以由机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括被配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以包括专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括可编程逻辑或电路,其由软件临时配置为执行某些操作,并且可以包括针对这种配置的机器可读介质数据和/或指令的部分。例如,硬件模块可以包括可编程处理器内的软件,可编程处理器被配置为执行软件指令集。应当理解,在专用的并且永久地配置的电路中,或者在临时配置的电路中(例如,由软件配置的)机械地实施硬件模块的决定可以由成本、时间、支持和工程考虑来驱动。
因此,短语“硬件模块”应当被理解为涵盖能够执行某些操作的有形实体,并且可以以某种物理方式被配置或布置,被物理地构造、永久地配置(例如,硬连线的)和/或者被临时地配置(例如,编程的)为以某种方式操作或者执行本文描述的某些操作的实体。如本文所使用的“硬件实现的模块”是指硬件模块。考虑硬件模块是临时配置的(例如,编程的)示例,硬件模块的每个模块不需要在任何一时间实例被配置或者实例化。例如,在硬件模块包括由软件配置的可编程处理器以成为专用处理器的情况下,可编程处理器可以在不同时间被配置为分别地不同的专用处理器(例如,包括不同的硬件模块)。软件可以相应地配置一个或多个特定处理器,例如,以在一个时间的实例构成特定的硬件模块,并且在不同的时间的实例构成不同的硬件模块。使用一个或多个处理器实现的硬件模块可以被称为“处理器实现的”或“计算机实现的”。
硬件模块可以向其他硬件模块提供信息,并且从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信地耦合的。在多个硬件模块同时存在的情况下,可以通过两个或者更多个硬件模块之间或者之中的信号传输(例如,通过合适的电路和总线)来实现通信。在多个硬件模块在不同时间被配置或实例化的实现中,这种硬件模块之间的通信可以,例如通过在多个硬件模块可以访问的存储器设备中存储并且检索信息来实现。例如,一个硬件模块可以执行操作并且将输出存储在存储器设备中,并且另一个硬件模块可以随后访问该存储器设备以检索并且处理所存储的输出。
在一些示例中,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实施的组件来执行。此外,一个或多个处理器还可以操作以支持在“云计算”环境中或者作为“软件即服务”(SaaS)的相关操作的执行。例如,操作的至少一些操作可以由和/或在多计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)和/或经由一个或多个合适的接口(例如,应用程序接口(API))来访问。操作的某些操作的执行可以分布在处理器之间,不仅驻留在单个机器之内,而且跨多个机器部署。处理器或者处理器实施的组件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器或者处理器实施的组件可以分布在多个地理位置上。
图15是图示了示例软件架构1502的框图1500,其各个部分可结合本文所描述的各种硬件架构来使用,这些软件架构可以实施上述特征中的任一个特征。图15是软件架构的非限制性示例,并且可以理解,可以实施许多其他体系架构来支持本文所描述的功能。软件架构1502可以在诸如图1-13的计算设备等硬件上执行,该硬件包括文档存储器1070、处理器、存储器、以及输入/输出(I/O)组件。示出了代表性硬件层1504,并且该代表性硬件层1504可以表示例如图1-14的计算设备。代表性硬件层1504包括处理单元1506和相关联的可执行指令1508。可执行指令1508表示软件架构1502的可执行指令,包括本文描述的方法的实现、模块等。硬件层1504还包括存储器/存储1510,其还包括可执行指令1508和伴随的数据。硬件层1504还可包括其他硬件模块1512。由处理单元1506保存的指令1508可以是由存储器/存储1510保存的指令1508的部分。
示例软件结构1502可以被概念化为层,每个层提供各种功能。例如,软件结构1502可包括诸如操作系统(OS)1514、库1516、框架1518、应用1520和呈现层1544等层和组件。在操作上,应用1520和/或层内的其他组件可以调用对其他层的API调用1524,并且接收对应的结果1526。所说明的层本质上是代表性的,并且其他软件架构可包含额外或不同的层。例如,一些移动或专用操作系统可能不提供框架/中间件1518。
OS 1514可以管理硬件资源并且提供公共服务。OS 1514可以包括例如内核1528、服务1530和驱动器1532。内核1528可以充当硬件层1504和其他软件层之间的抽象层。例如,内核1528可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1530可以针对其他软件层提供其他公共服务。驱动器1532可以负责控制底层硬件层1504或与底层硬件层1504对接。例如,驱动器1532可包括显示驱动器、相机驱动器、存储器/存储驱动器、外围设备驱动器(例如,经由通用串行总线(USB))、网络和/或无线通信驱动器、音频驱动器等,这取决于硬件和/或软件配置。
库1516可以提供可以由应用1520和/或其他组件和/或层使用的公共基础设施。库1516通常提供由其他软件模块使用以执行任务的功能,而不是直接与OS 1514交互。库1516可以包括系统库1534(例如,C标准库),系统库1534可以提供诸如存储器分配、串操纵、文件操作的功能。此外,库1516可以包括API库1536,诸如媒体库(例如,支持图像、声音和/或视频数据格式的呈现和操纵)、图形库(例如,用于在显示器上绘制2D和3D图形的OpenGL库)、数据库库(例如,SQLite或其他关系数据库函数)和web库(例如,可以提供web浏览功能的WebKit)。库1516还可以包括各种各样的其他库1538,以针对应用1520和其他软件模块提供许多功能。
框架1518(有时也称为中间件)提供可以由应用1520和/或其他软件模块使用的更高级别的公共基础设施。例如,框架1518可以提供各种图形用户界面(GUI)功能、高级资源管理或高级位置服务。框架1518可以针对应用1520和/或其他软件模块提供广泛的其他API。
应用1520包括内置应用1540和/或第三方应用1542。内置应用1540的示例可以包括但不限于联系人应用、浏览器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用1542可以包括由除特定平台的供应商之外的实体开发的任何应用。应用1520可以使用经由OS 1514、库1516、框架1518和呈现层1544可用的功能以创建用户接口以与用户交互。
一些软件架构使用虚拟机,如虚拟机1548所说明的。虚拟机1548提供执行环境,其中应用/模块可以如同它们在硬件机器(例如,诸如图10的机器1000)上执行那样执行。虚拟机1548可由主机OS(例如,OS 1514)或系统管理程序托管,并且可以具有虚拟机监视器1546,该虚拟机监视器1546管理虚拟机1548的操作以及与主机操作系统的互操作。可以不同于虚拟机外的软件结构1502的软件结构在虚拟机1548内执行,诸如OS 1550、库1552、框架1554、应用1556和/或呈现层1558。
图16是图示了被配置为从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文所描述的任何特征的示例性机器1600的组件的框图。示例机器1600是计算机系统的形式,其中指令1616在由机器1600执行时(例如,以软件组件的形式)使机器1600以执行本文所描述的特征的任一特征。这样,指令1616可以用于实现本文描述的模块或组件。指令1616使得未编程的和/或未配置的机器1600作为被配置为执行所描述的特征的特定机器以操作。机器1600可以被配置为作为独立设备操作或者可以耦合(例如,网络化的)到其他机器。在网络化的部署中,机器1600可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者作为对等或分布式网络环境中的节点操作。机器1600可以被实现为,例如服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、游戏和/或娱乐系统、智能电话、移动设备、可穿戴设备(例如,智能手表)和物联网(IoT)设备。此外,尽管仅示出了单个机器1600,但是术语“机器”包括单独地或联合地执行指令1616的机器集。
机器1600可以包括处理器1610、存储器1630和I/O组件1650,它们可以经由例如总线1602通信地耦合。总线1602可以包括经由各种总线技术和协议耦合机器1600的各种元件的多个总线。在示例中,处理器1610(包括例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC或它们合适的组合)可以包括一个或多个处理器1612a到1612n,该一个或多个处理器1612a到1612n可以执行指令1616并且处理数据。在一些示例中,一个或多个处理器1610可以执行由一个或多个其他处理器1610提供或者标识的指令。术语“处理器”包括多核处理器,该多核处理器包括可以同时执行指令的核。尽管图16示出了多个处理器,但是机器1600可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、每个具有单个核的多个处理器、每个具有多个核的多个处理器、或它们的任意组合。在一些示例中,机器1600可以包括分布在多个机器之间的多个处理器。
存储器/存储装置1630可以包括主存储器1632、静态存储器1634或者其他存储器、以及存储单元1636,二者都可以由处理器1610诸如经由总线1602访问。存储单元1636和存储器1632、1634存储实现本文所描述的功能中的任何一个或多个功能的指令1616。存储器/存储装置1630还可以存储针对处理器1610的临时、中间和/或长期数据。指令1616在其执行期间还可以完全或部分地驻留在存储器1632、1634内、存储单元1636内、处理器1610中的至少一个处理器内(例如,在命令缓冲器或高速缓冲存储器内)、在I/O组件1650中的至少一个I/O组件处的存储器内、或它们任何合适的组合。因此,存储器1632、1634、存储单元1636、处理器1610中的存储器和I/O组件1650中的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”是指能够临时或永久存储使机器1600以特定方式操作的指令和数据的设备。如本文所使用的术语“机器可读介质”不包含瞬态电的或电磁信号本身(诸如,在传播通过介质的载波上);因此,术语“机器可读介质”可以被认为是有形的和非暂态的。非暂态的、有形机器可读介质的非限制性示例可以包括但不限于非易失性存储器(诸如,闪存或只读存储器(ROM))、易失性存储器(诸如,静态随机存取存储器(RAM)或动态RAM)、缓冲存储器、高速缓存存储器、光学存储介质、磁存储介质和设备、网络可访问或云存储、其他类型的存储和/或它们任何合适的组合。术语“机器可读介质”适用于单个介质或多个介质的组合,其用于存储由机器1600执行的指令(例如,指令1616),使得指令在由机器1600的一个或多个处理器1610执行时,指令使机器1600执行本文所描述的特征中的一个或多个特征。因此,“机器可读介质”可以指单个存储设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。
I/O组件1650可以包括适于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种硬件组件。包括在特定机器中的特定I/O组件1650将取决于机器的类型和/或功能。例如,诸如移动电话之类的移动设备可以包括触摸输入设备,而无头服务器或IoT设备可以不包括这样的触摸输入设备。图16所示的I/O组件的特定示例决不是限制性的,机器1600中可以包括其他类型的组件。I/O组件1650的分组仅仅是用于简化该讨论,并且该分组决不是限制性的。在各种示例中,I/O组件1650可以包括用户输出组件1652和用户输入组件1654。用户输出组件1652可以包括例如用于显示信息的显示组件(例如,液晶显示器(LCD)或投影仪)、声学组件(例如,扬声器)、触觉组件(例如,振动马达或度反馈装置)和/或其他信号发生器。用户输入组件1654可以包括例如被配置用于接收诸如用户命令和/或选择的各种用户输入的字母数字输入组件(例如,键盘或触摸屏)、指点组件(例如,鼠标设备、触摸板或另一指点仪器)和/或触觉输入组件(例如,提供触摸或触摸手势的位置和/或力的物理按钮或触摸屏)。
在一些示例中,I/O组件1650可以包括生物识别组件1656和/或位置组件1662,以及各种各样的其他环境传感器组件。生物识别组件1656可以包括例如用于检测身体表达(例如,面部表达、声音表达、手或身体姿势、或眼睛跟踪)、测量生物信号(例如,心率或脑电波)以及标识人(例如,经由基于语音、视网膜和/或面部的标识)的组件。位置组件1662可包括例如位置传感器(例如,全球定位系统(GPS)接收机)、高度传感器(例如,可从中导出高度的气压传感器)和/或定向传感器(例如,磁力计)。
I/O组件1650可以包括通信组件1664,其实现各种各样的技术,这些技术可操作以经由相应的通信耦合1672和1682将机器1600耦合到(多个)网络1670和/或(多个)设备1680。通信组件1664可以包括一个或多个网络接口组件或其他合适的设备以与(多个)网络1670接口。通信组件1664可以包括例如适于提供有线通信、无线通信、蜂窝通信、近场通信(NFC)、蓝牙通信、Wi-Fi、和/或经由其他模态的通信的组件。(多个)装置1680可以包括其他机器或各种外围装置(例如,经由USB耦合)。
在一些示例中,通信组件1664可以检测标识符或包括适于检测标识符的组件。例如,通信组件1664可以包括射频识别(RFID)标签读取器、NFC检测器、光学传感器(例如,一维或多维条形码或其他光学代码)和/或声学检测器(例如,用于标识带标签的音频信号的麦克风)。在一些示例中,可基于来自通信组件1662的信息来确定位置信息,诸如但不限于经由互联网协议(IP)地址的地理位置、经由Wi-Fi、蜂窝式、NFC、蓝牙或其他无线站标识和/或信号三角测量的位置。
虽然已经描述了各种实现,但是本说明书旨在是示例性的而非限制性的,并且应当理解,在实现的范围内的更多实现和实施例是可能的。尽管特征的许多可能的组合在附图中被示出了并且在本具体实现中被讨论,但是所公开的特征的许多其他组合是可能的。除非特别限制,任何实现的任何特征可以与任何其他实现中的任何其他特征或元素组合使用、或者替代任何其他特征或元素。因此,应当理解,本公开中所示出的和/或所讨论的任何特征可以以任何合适的组合一起实施。因此,除了根据所附权利要求及其等同物之外,实现不受其他限制。而且,在所附权利要求的范围内可以进行各种修改和改变。
虽然上文已描述了被认为是最佳模式和/或其他示例的内容,但应理解,可以在其中作出各种修改,并且本文所揭示的主题可以以各种形式和示例来实施,并且所述教导可以被应用于许多应用中,本文仅描述了其中的一些应用。以下权利要求旨在要求保护落入本教导的真实范围内的任何和所有应用、修改和变化。
除非另有说明,否则本说明书中,包括所附权利要求中阐述的所有测量值、值、额定值、位置、大小、尺寸和其他规格是近似的,而不是精确的。它们旨在具有与它们相关的功能以及它们所属领域的惯例一致的合理范围。
保护范围仅由所附权利要求书限定。当根据本说明书和随后的审查历史解释时,该范围旨在并且应当被解释为与权利要求中使用的语言的普通含义一致的宽泛范围,并且涵盖所有结构和功能等同物。尽管如此,没有任何权利要求旨在包含未能满足《专利法》第101、102或103节要求的主题,也不应以这种方式解释它们。特此否认对此类主题的任何意外包含。
除紧接上文所述外,任何已陈述或说明的内容均不旨在或应当被解释为使任何组件、步骤、特征、目标、利益、优势或等效物奉献给公众,无论权利要求书中是否记载。
应当理解,除非本文另外阐述了特定的含义,本文所使用的术语和表达具有与这些术语和表达相对于它们对应的相应的调查和研究领域所赋予的普通含义。诸如“第一”和“第二”、“等”的关系术语可仅用于将一个实体或动作与另一实体或动作区分,而不必要求或暗示这些实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或其任何其他变化形式旨在涵盖非排他性的包括,使得包含元素列表的过程、方法、物品或装置不仅包括那些元素,而且可以包括未明确列出的或这种过程、方法、物品或装置固有的其他元素。以“一”或“一个”开头的元素在没有进一步限制的情况下不排除在包含该元素的过程、方法、物品或装置中附加的相同元素的存在。
提供本公开的摘要以允许读者快速确定本技术公开的本质。应当理解,摘要不用于解释或限制权利要求的范围或含义。此外,在前述具体实现中,可以看出,为了简化本公开,在各种示例中将各种特征组合在一起。该公开方法不应被解释为反映权利要求需要比每个权利要求中明确叙述的特征更多的特征的意图。相反,如以下权利要求所反映的,发明主题在于少于单个公开示例的所有特征。因此,以下权利要求特此并入到具体实现中,每个权利要求作为单独的分离所要求保护的主题而独立存在。
Claims (20)
1.一种数据处理设备,包括:
至少一个处理器;以及
包括指令的一个或多个计算机可读介质,所述指令在由所述至少一个处理器执行时,使所述至少一个处理器:
经由图像扫描应用接收图像;
通过按比例缩小来降低所述图像的分辨率;
通过将边缘检测算法应用到按比例缩小的所述图像来检测多个边缘;
基于所述多个边缘,通过标识以下项来自动检测按比例缩小的所述图像内的多个四边形状的离散的候选区域:
角,所述多个边缘中的两个边缘在所述角处相交,以及
四边形,所述四边形表示包括所述角的离散的候选区域;
标识所述多个四边形状的离散的候选区域的子集,所述子集包括第一区域和第二区域;
检测捕获发起信号;
响应于所述捕获发起信号,在实质并行的过程中至少捕获所述第一区域和所述第二区域;以及
至少将与所述第一区域相对应的第一图像内容和与所述第二区域相对应的第二图像内容存储在已扫描的图像文件夹中。
2.根据权利要求1所述的设备,其中所述指令还使所述至少一个处理器:
呈现用于访问所存储的图像内容的图形用户界面;以及
在设备显示器上呈现针对所述第一图像内容的第一信息集和针对所述第二图像内容的第二信息集。
3.根据权利要求1所述的设备,其中所述指令还使所述至少一个处理器:
在设备显示器上呈现所述图像;以及
利用第一可视指示器至少覆盖所述第一区域的第一周界,并且利用第二可视指示器至少覆盖所述第二区域的第二周界。
4.根据权利要求1所述的设备,其中所述多个四边形状的离散的候选区域的所述子集还包括第三区域;并且其中所述指令还使所述至少一个处理器:
接收与所述第三区域相关联的、用于取消选择所述第三区域的第一输入;以及
从所述多个四边形状的离散的候选区域的所述子集中移除所述第三区域。
5.根据权利要求1所述的设备,其中所述指令还使所述至少一个处理器:
在设备显示器上呈现所述图像作为第一图像预览;以及
通过可视指示器在每个区域的至少一部分上的覆盖,来区分在所述第一图像预览中的所述多个四边形状的离散的候选区域中的每个离散的候选区域。
6.根据权利要求5所述的设备,其中所述多个四边形状的离散的候选区域的所述子集还包括第三区域;并且其中所述指令还使所述至少一个处理器:
接收与所述第三区域相关联的、用于取消选择所述第三区域的第一输入;以及
移除覆盖在所述第三区域上的所述可视指示器。
7.根据权利要求1所述的设备,其中所述指令还使所述至少一个处理器:在检测所述多个边缘之前,通过将分割算法应用到所述图像的像素来确定所述图像中的所述像素是前景像素还是背景像素,其中对所述多个边缘的所述检测仅限于所述图像的被确定为前景像素的像素。
8.根据权利要求7所述的设备,其中所述第一区域以第一定向为定向,并且所述第二区域以第二定向为定向,并且其中所述第一定向不同于所述第二定向。
9.根据权利要求1所述的设备,其中所述第一区域的第一面积大于所述第二区域的第二面积。
10.根据权利要求1所述的设备,其中所述指令还使所述至少一个处理器:
经由聚类算法将所述图像划分为多个段,以产生经分割的图像,所述经分割的图像包括多个非重叠的像素组;以及
将所述边缘检测算法应用到所述经分割的图像;
其中对所述图像中的所述多个四边形状的离散的候选区域的所述自动检测至少基于所述边缘检测算法到所述经分割的图像的所述应用。
11.根据权利要求1所述的设备,其中自动检测所述多个四边形状的离散的候选区域还包括用以使所述至少一个处理器进行以下操作的指令:
接合来自所述多个边缘的边缘以形成所述多个四边形状的离散的候选区域。
12.一种数据处理方法,包括:
经由图像扫描应用接收图像;
通过按比例缩小来降低所述图像的分辨率;
通过将边缘检测算法应用到按比例缩小的所述图像来检测多个边缘;
基于所述多个边缘并且通过标识以下项,通过形成多个四边形状的离散的候选区域来自动检测按比例缩小的所述图像内的所述多个四边形状的离散的候选区域:
角,所述多个边缘中的两个边缘在所述角处相交,以及
四边形,所述四边形表示包括所述角的离散的候选区域;
标识所述多个四边形状的离散的候选区域的子集,所述子集包括第一区域和第二区域;
接收捕获发起信号;
响应于所述捕获发起信号,在实质并行的过程中至少捕获所述第一区域和所述第二区域;以及
至少将与所述第一区域相对应的第一图像内容和与所述第二区域相对应的第二图像内容存储在已扫描的图像文件夹中。
13.根据权利要求12所述的方法,还包括:
呈现用于访问所存储的图像内容的图形用户界面;以及
在设备显示器上呈现针对所述第一图像内容的第一信息集和针对所述第二图像内容的第二信息集。
14.根据权利要求12所述的方法,还包括:
在设备显示器上呈现所述图像;以及
利用第一可视指示器至少覆盖所述第一区域的第一周界,以及利用第二可视指示器至少覆盖所述第二区域的第二周界。
15.根据权利要求12所述的方法,其中所述多个四边形状的离散的候选区域的所述子集还包括第三区域;并且其中所述方法还包括:
接收与所述第三区域相关联的、用于取消选择所述第三区域的第一输入;以及
从所述多个四边形状的离散的候选区域的所述子集中移除所述第三区域。
16.根据权利要求12所述的方法,还包括:
在设备显示器上呈现所述图像作为第一图像预览;以及
通过可视指示器在每个区域的至少一部分上的覆盖,来区分在所述第一图像预览中的所述多个四边形状的离散的候选区域中的每个离散的候选区域。
17.根据权利要求16所述的方法,其中所述多个四边形状的离散的候选区域的所述子集还包括第三区域;并且其中所述方法还包括:
接收与所述第三区域相关联的、用于取消选择所述第三区域的第一输入;以及
移除覆盖在所述第三区域上的所述可视指示器。
18.根据权利要求12所述的方法,还包括:在检测所述多个边缘之前,通过将分割算法应用到所述图像的像素来确定所述图像中的所述像素是前景像素还是背景像素,其中对所述多个边缘的所述检测仅限于被确定为前景像素的像素。
19.根据权利要求12所述的方法,还包括:
经由聚类算法将所述图像划分为多个段,以产生经分割的图像,所述经分割的图像包括多个非重叠的像素组;以及
将所述边缘检测算法应用到所述经分割的图像;
其中自动检测所述图像中的所述多个四边形状的离散的候选区域至少基于所述边缘检测算法到所述经分割的图像的所述应用。
20.一种非瞬态计算机可读存储介质,其上存储有指令,所述指令在被执行时使可编程设备的处理器执行以下功能:
经由图像扫描应用接收图像;
通过按比例缩小来降低所述图像的分辨率;
通过将边缘检测算法应用到按比例缩小的所述图像来检测多个边缘;
基于所述多个边缘并且通过标识以下项,通过形成多个四边形状的离散的候选区域来自动检测按比例缩小的所述图像内的所述多个四边形状的离散的候选区域:
角,所述多个边缘中的两个边缘在所述角处相交,以及
四边形,所述四边形表示包括所述角的离散的候选区域;
标识所述多个四边形状的离散的候选区域的子集,所述子集包括第一区域和第二区域;
接收捕获发起信号;
响应于所述捕获发起信号,在实质并行的过程中至少捕获所述第一区域和所述第二区域;以及
至少将与所述第一区域相对应的第一图像内容和与所述第二区域相对应的第二图像内容存储在已扫描的图像文件夹中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/241,904 US11532145B2 (en) | 2019-01-07 | 2019-01-07 | Multi-region image scanning |
US16/241,904 | 2019-01-07 | ||
PCT/US2019/068882 WO2020146158A1 (en) | 2019-01-07 | 2019-12-30 | Multi-region image scanning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113273167A CN113273167A (zh) | 2021-08-17 |
CN113273167B true CN113273167B (zh) | 2023-10-13 |
Family
ID=69188024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980088122.1A Active CN113273167B (zh) | 2019-01-07 | 2019-12-30 | 数据处理设备、方法和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11532145B2 (zh) |
EP (1) | EP3909231A1 (zh) |
KR (1) | KR20210112345A (zh) |
CN (1) | CN113273167B (zh) |
WO (1) | WO2020146158A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210065374A1 (en) * | 2019-08-26 | 2021-03-04 | Organize Everything Inc. | System and method for extracting outlines of physical objects |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557454A (zh) * | 2008-04-09 | 2009-10-14 | 富士施乐株式会社 | 图像提取设备和图像提取方法 |
WO2011037724A2 (en) * | 2009-09-23 | 2011-03-31 | Microsoft Corporation | Camera-based scanning |
US8913285B1 (en) * | 2009-06-07 | 2014-12-16 | Apple Inc. | Automated method of decomposing scanned documents |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668636A (en) | 1995-12-20 | 1997-09-16 | Xerox Corporation | Embedded data controlled digital highlight color copier |
GB9711022D0 (en) | 1997-05-28 | 1997-07-23 | Rank Xerox Ltd | Text/image selection from document images |
US5880858A (en) | 1997-12-31 | 1999-03-09 | Mustek Systems Inc. | Method of auto-cropping images for scanners |
US6151426A (en) | 1998-10-01 | 2000-11-21 | Hewlett-Packard Company | Click and select user interface for document scanning |
US6970607B2 (en) * | 2001-09-05 | 2005-11-29 | Hewlett-Packard Development Company, L.P. | Methods for scanning and processing selected portions of an image |
US7212316B2 (en) | 2001-12-19 | 2007-05-01 | Wen-Yung Huang | Method for automatically identifying scan area |
US7634138B2 (en) | 2002-12-20 | 2009-12-15 | Eastman Kodak Company | Method for generating an image of a detected subject |
US7668404B2 (en) * | 2004-06-30 | 2010-02-23 | Lexmark International, Inc. | Method and system of deskewing an image using monochrome conversion to separate foreground from background |
US7885463B2 (en) | 2006-03-30 | 2011-02-08 | Microsoft Corp. | Image segmentation using spatial-color Gaussian mixture models |
US8184915B2 (en) * | 2006-12-04 | 2012-05-22 | Lockheed Martin Corporation | Device and method for fast computation of region based image features |
US7953268B2 (en) | 2008-01-18 | 2011-05-31 | Mitek Systems, Inc. | Methods for mobile image capture and processing of documents |
US9177218B2 (en) | 2008-09-08 | 2015-11-03 | Kofax, Inc. | System and method, and computer program product for detecting an edge in scan data |
US9165187B2 (en) | 2012-01-12 | 2015-10-20 | Kofax, Inc. | Systems and methods for mobile image capture and processing |
US9443314B1 (en) | 2012-03-29 | 2016-09-13 | Google Inc. | Hierarchical conditional random field model for labeling and segmenting images |
KR20140031742A (ko) * | 2012-09-05 | 2014-03-13 | 삼성전기주식회사 | 이미지 특징 추출 장치 및 이미지 특징 추출 방법, 그를 이용한 영상 처리 시스템 |
JP2014092899A (ja) * | 2012-11-02 | 2014-05-19 | Fuji Xerox Co Ltd | 画像処理装置及び画像処理プログラム |
EP2790152B1 (en) * | 2013-04-12 | 2015-12-02 | Alcatel Lucent | Method and device for automatic detection and tracking of one or multiple objects of interest in a video |
US9177223B2 (en) | 2014-01-14 | 2015-11-03 | Welch Allyn, Inc. | Edge detection in images |
US9292186B2 (en) | 2014-01-31 | 2016-03-22 | 3M Innovative Properties Company | Note capture and recognition with manual assist |
WO2016207875A1 (en) | 2015-06-22 | 2016-12-29 | Photomyne Ltd. | System and method for detecting objects in an image |
EP3258681B1 (en) * | 2015-08-25 | 2019-05-22 | Hitachi Information & Telecommunication Engineering, Ltd. | Image reading apparatus, image reading method, and image reading program |
US10095944B2 (en) | 2015-08-28 | 2018-10-09 | Tata Consultancy Services Limited | Methods and systems for shape based image analysis for detecting linear objects |
US10922832B2 (en) * | 2018-07-31 | 2021-02-16 | Intel Corporation | Removal of projection noise and point-based rendering |
US10902277B2 (en) | 2018-09-10 | 2021-01-26 | Microsoft Technology Licensing, Llc | Multi-region detection for images |
-
2019
- 2019-01-07 US US16/241,904 patent/US11532145B2/en active Active
- 2019-12-30 WO PCT/US2019/068882 patent/WO2020146158A1/en unknown
- 2019-12-30 EP EP19842570.4A patent/EP3909231A1/en active Pending
- 2019-12-30 KR KR1020217024570A patent/KR20210112345A/ko unknown
- 2019-12-30 CN CN201980088122.1A patent/CN113273167B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557454A (zh) * | 2008-04-09 | 2009-10-14 | 富士施乐株式会社 | 图像提取设备和图像提取方法 |
US8913285B1 (en) * | 2009-06-07 | 2014-12-16 | Apple Inc. | Automated method of decomposing scanned documents |
WO2011037724A2 (en) * | 2009-09-23 | 2011-03-31 | Microsoft Corporation | Camera-based scanning |
Also Published As
Publication number | Publication date |
---|---|
US20200218924A1 (en) | 2020-07-09 |
WO2020146158A1 (en) | 2020-07-16 |
CN113273167A (zh) | 2021-08-17 |
KR20210112345A (ko) | 2021-09-14 |
EP3909231A1 (en) | 2021-11-17 |
US11532145B2 (en) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11113523B2 (en) | Method for recognizing a specific object inside an image and electronic device thereof | |
US11550993B2 (en) | Ink experience for images | |
EP3058512B1 (en) | Organizing digital notes on a user interface | |
US10346560B2 (en) | Electronic blueprint system and method | |
CN112673617B (zh) | 针对图像的多区域检测 | |
EP3183640B1 (en) | Device and method of providing handwritten content in the same | |
US9176748B2 (en) | Creating presentations using digital media content | |
US9430500B2 (en) | Method and device for operating image in electronic device | |
EP2793170A2 (en) | Objects in screen images | |
US9384405B2 (en) | Extracting and correcting image data of an object from an image | |
US20200304713A1 (en) | Intelligent Video Presentation System | |
US9767588B2 (en) | Method and apparatus for image processing | |
KR102303206B1 (ko) | 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치 | |
CN113273167B (zh) | 数据处理设备、方法和存储介质 | |
US10686983B1 (en) | Automatic image capture mode based on changes in a target region | |
US11074392B2 (en) | Information processing apparatus and non-transitory computer readable medium for switching between an attribute information mode and an image information mode | |
WO2020107186A1 (en) | Systems and methods for taking telephoto-like images | |
WO2020107187A1 (en) | Systems and methods for taking telephoto-like images |
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 |