CN113791722A - 一种截图处理方法、计算设备及可读存储介质 - Google Patents

一种截图处理方法、计算设备及可读存储介质 Download PDF

Info

Publication number
CN113791722A
CN113791722A CN202111068247.3A CN202111068247A CN113791722A CN 113791722 A CN113791722 A CN 113791722A CN 202111068247 A CN202111068247 A CN 202111068247A CN 113791722 A CN113791722 A CN 113791722A
Authority
CN
China
Prior art keywords
picture
spliced
screenshot
area
cut
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.)
Granted
Application number
CN202111068247.3A
Other languages
English (en)
Other versions
CN113791722B (zh
Inventor
何明洋
马霖霞
刘郑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202111068247.3A priority Critical patent/CN113791722B/zh
Publication of CN113791722A publication Critical patent/CN113791722A/zh
Application granted granted Critical
Publication of CN113791722B publication Critical patent/CN113791722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种截图处理方法、计算设备及可读存储介质。本发明的截图处理方法在计算设备中执行,该方法包括:获取用户选取的包括待截取的可滑动区域的截图区域,并对该截图区域进行截图,获得第一张待裁剪图片;当监听到截图区域中发生滑动事件时,对该截图区域进行截图,获得若干张待裁剪图片;根据获得的待裁剪图片,识别滑动过程中待截取的可滑动区域内发生变化的内容所属的目标区域;将获得的每张待裁剪图片中目标区域之外的区域裁剪掉,获得多张待拼接图片;将获得的全部待拼接图片进行去重拼接,获得目标图片。本发明的截图处理方法能够提高截取长图的成功率。

Description

一种截图处理方法、计算设备及可读存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种截图处理方法、计算设备及可读存储介质。
背景技术
在日常的生活和工作中,我们经常遇到想要获取的内容无法完整呈现在一张截图中的情况。基于此,长截图工具应运而生。
然而,现有的长截图工具存在一些弊端:(一)只能对上中下结构的可滑动界面进行长截图。(二)对于包含有多个可滑动窗口或者既包含有可滑动窗口又包含有非可滑动窗口的应用中的可滑动窗口界面无法进行长截图。
为此,亟需一种新的截图处理方法以解决上述问题。
发明内容
为此,本发明提供了一种截图处理方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种截图处理方法,在计算设备中执行,该方法包括:获取用户选取的截图区域,截图区域包括待截取的可滑动区域;对截图区域进行截图,获得第一张待裁剪图片;当监听到截图区域中发生滑动事件时,对截图区域进行截图,获得若干张待裁剪图片;根据获得的待裁剪图片,识别目标区域,目标区域为滑动过程中待截取的可滑动区域内发生变化的内容所属的区域;将获得的每张待裁剪图片中目标区域之外的区域裁剪掉,获得多张待拼接图片;将获得的全部待拼接图片进行去重拼接,获得目标图片。
可选地,在根据本发明的截图处理方法中,根据获得的待裁剪图片,识别目标区域的步骤,包括:将所有待裁剪图片的数据分别初始化到数据结构矩阵中,得到每张待裁剪图片对应的矩阵;将所有相邻的待裁剪图片对应的矩阵进行异或运算,得到多个候选矩阵;将全部候选矩阵进行逻辑或运算,得到第一结果矩阵;根据第一结果矩阵,确定目标区域。
可选地,在根据本发明的截图处理方法中,根据获得的待裁剪图片,识别目标区域的步骤,包括:将两张待裁剪图片的数据分别初始化到数据结构矩阵中,得到两个矩阵;将两个矩阵进行异或运算,得到第二结果矩阵;根据第二结果矩阵,确定目标区域。
可选地,在根据本发明的截图处理方法中,结果矩阵中包含全部数值1的最小矩形区域为目标区域。
可选地,在根据本发明的截图处理方法中,两张待裁剪图片为截图过程中获得的第一张待裁剪图片和第二张待裁剪图片。
可选地,在根据本发明的截图处理方法中,将获得的全部待拼接图片进行去重拼接的步骤,包括:将对第一张待裁剪图片进行裁剪后获得的待拼接图片作为第一待拼接图片,将对第二张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片;对第一待拼接图片和第二待拼接图片进行去重拼接;将去重拼接得到的图片作为第一待拼接图片,将对下一张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片,再次执行上述去重拼接的步骤,以此类推,直至将全部待拼接图片拼接完成,获得目标图片。
可选地,在根据本发明的截图处理方法中,对第一待拼接图片和第二待拼接图片进行去重拼接的步骤,包括:从第二待拼接图片中截取感兴趣区域,感兴趣区域为第一待拼接图片和第二待拼接图片的部分公共区域或全部公共区域;将感兴趣区域在第一待拼接图片中进行匹配,得到感兴趣区域在第一待拼接图片中的匹配位置;获取将感兴趣区域从其在第二待拼接图片中的位置平移到匹配位置所需移动的像素距离;按照像素距离,将第二待拼接图片拼接到第一待拼接图片中。
可选地,在根据本发明的截图处理方法中,将感兴趣区域在第一待拼接图片中进行匹配的步骤,包括:依据预设的匹配算法,将感兴趣区域在第一待拼接图片中进行匹配,预设的匹配算法包括平方差匹配法、相关匹配法、标准相关匹配法、相关系数匹配法和标准相关系数匹配法。
可选地,在根据本发明的截图处理方法中,在获取到用户选取的截图区域后,还包括:显示截图区域的缩略图,并在监听到截图区域中发生滑动事件时,更新截图区域的缩略图。
可选地,在根据本发明的截图处理方法中,还包括:若用户设定了目标图片的存储格式,则将目标图片按照用户所设定的格式进行存储;否则,将目标图片按照默认格式存储。
可选地,在根据本发明的截图处理方法中,还包括:若用户设定了目标图片的存储位置,则将目标图片存储至用户所设定的存储位置处;否则,将目标图片存储至默认的存储位置处。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本发明的截图处理方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行根据本发明的截图处理方法。
根据本发明的截图处理方法,获得待裁剪图片后首先识别其中发生变化的目标区域,然后将每张待裁剪图片中目标区域之外的区域裁剪掉,最后将裁剪后得到的所有待拼接图片进行去重拼接。可见,本发明选取的截图区域只要包括待截取的可滑动区域即可,当用户选取的截图区域除了包括待截取的可滑动区域外还包括其他区域时,本发明通过图像识别以及图像裁剪两个步骤,便能使裁剪后的图片仅包括滑动过程中内容发生变化的目标区域。因此,对于包含有多个可滑动窗口或者既包含有可滑动窗口又包含有非可滑动窗口的应用中的任一可滑动窗口界面中的内容,本发明都可以进行长截图。
并且,由于本发明能够识别出待裁剪图片中发生变化的目标区域,因此即使在用户选取的截图区域不准确的情况下,本发明仍能精准的获得滑动过程中内容发生变化的目标区域,从而可以提高截取长图的成功率。
另外,由于本发明能够识别出待裁剪图片中发生变化的目标区域,因此当用户对某一滑动区域进行长截图时,其不需特意仅选取该滑动区域,从而可以提升用户的体验。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;
图2示出了根据本发明一个实施例的截图处理方法200的流程图;
图3示出了根据本发明一个实施例的企业微信界面的示意图;
图4示出了根据本发明一个实施例的计算设备的桌面示意图;
图5示出了根据本发明一个实施例的一张待裁剪图片的示意图;
图6示出了根据本发明一个实施例的另一张待裁剪图片的示意图;
图7示出了根据本发明一个实施例的将两张图片进行异或的示意图;
图8示出了根据本发明一个实施例的候选矩阵的示意图;
图9示出了根据本发明一个实施例的第一结果矩阵的示意图;
图10示出了根据本发明一个实施例的一张待拼接图片的示意图;
图11示出了根据本发明一个实施例的另一张待拼接图片的示意图;
图12示出了根据本发明一个实施例的第一待拼接图片的示意图;
图13示出了根据本发明一个实施例的第二待拼接图片的示意图;
图14示出了根据本发明一个实施例的第一待拼接图片所对应的矩阵数据的示意图;
图15示出了根据本发明一个实施例的第二待拼接图片所对应的矩阵数据的示意图;
图16示出了根据本发明一个实施例的由第一待拼接图片和第二待拼接图片拼接成的拼接图片的示意图;
图17示出了根据本发明一个实施例的由第一待拼接图片和第二待拼接图片拼接成的拼接图片所对应的矩阵数据的示意图;
图18示出了根据本发明又一个实施例的截图处理方法1800的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100的结构框图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的截图处理方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的截图处理方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
在计算设备100启动运行时,处理器104会从系统存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至系统存储器106中,处理器104从系统存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备100中,应用122包括用于执行本发明的截图处理方法200的指令,该指令可以指示处理器104执行本发明的截图处理方法。本领域技术人员可以理解,除了用于执行截图处理方法200的指令之外,应用122还可以包括用于实现其他功能的其他应用126。
图2示出了根据本发明一个实施例的截图处理方法200的流程图,方法200适于在计算设备(例如图1所示的计算设备100)中执行。如图2所示,该方法200始于步骤S210。在步骤S210中,获取用户选取的截图区域。其中,截图区域包括待截取的可滑动区域。
具体地,可以在监听到截图开始指令被触发时,获取用户选取的截图区域。其中,截图开始指令可以由用户点击滚动截屏按钮来触发,当然这仅是一个示例,还可以通过其他的方式来触发。关于用户如何触发截图开始指令或者说用户如何触发计算设备来获取用户选取的截图区域,本发明不作限定。在具体的实施例中,本领域的技术人员可以根据实际情况进行设定。
另外,为了直观地展示出本发明中的截图区域和待截取的可滑动区域,本发明给出了两个具体的示例图。
图3示出了某PC端上显示的一个企业微信界面的示意图。其中,标号为1和5的区域是不可滑动区域,标号为2、3、4和6的区域是可滑动区域。当用户想要对一段时间内的聊天记录进行截图时,待截取的可滑动区域则为标号为3的区域,此时用户可以选取企业微信的整个界面区域作为截图区域,也可以选取标号3、4和6组成的区域作为截图区域,当然还可以仅选取标号3的区域作为截图区域等。总之,只要用户选取的截图区域包括待截取的可滑动区域3即可。
图4示出了根据本发明一个实施例的计算设备的桌面示意图。该桌面上显示有一可滑动的终端界面。当用户想要对该终端界面进行截图时,待截取的可滑动区域则为该可滑动的终端界面区域,此时用户可以仅选取该可滑动的终端界面区域作为截图区域,而为了方便,用户也可以直接选取整个桌面全屏作为截图区域。
即,在本发明中,当用户选取截图区域时,不需特意仅选取待截取的可滑动区域作为截图区域,只要其保证选取的截图区域中包括待截取的可滑动区域即可。当然,对于截图区域除了包括待截取的可滑动区域之外,是否还包括其他的可滑动区域和/或非可滑动区域,本发明不作限定。
在获得用户选取的截图区域后,进入步骤S220,对截图区域进行截图,获得第一张待裁剪图片。即,当获得用户选取的截图区域之后,可通过对当前截图区域所显示的内容进行截图,来获得第一张待裁剪图片。其中,在获得用户选取的截图区域之后,还可以在当前界面显示截图区域的缩略图。具体地,可以在当前界面的右侧显示截图区域的缩略图。当然,对于截图区域缩略图的显示位置,本发明不作具体限定。在当前界面显示截图区域的缩略图,可以让用户更加方便地看到其所选取的截图区域以及其中的具体内容,从而可以提高用户选取截图区域的准确性。
随后进入步骤S230,当监听到截图区域中发生滑动事件时,对截图区域进行截图,获得若干张待裁剪图片。
需要说明的是,在进行长截图时,为了得到待截取的可滑动区域的完整内容,需要对待截取的可滑动区域进行滑动。而对待截取的可滑动区域进行滑动,可以由用户通过滑动鼠标滚轮来实现,也可以由机器自动滑动来实现。
具体地,若是用户通过滑动鼠标滚轮来对待截取的可滑动区域进行滑动,则每监听到用户滑动一次鼠标滚轮,便对当前截图区域的内容进行一次截图,直到用户停止滑动鼠标滚轮(即停止对待截取的可滑动区域进行滑动),获得若干张待裁剪图片。
若是机器自动滑动待截取的可滑动区域,则按照预设频率(即滑动事件的预设频率)来对截图区域的内容进行截图,直到机器停止对待截取的可滑动区域的滑动,获得若干张待裁剪图片。需要说明的是,机器开始对待截取的可滑动区域进行自动滑动以及停止对其滑动,可以由用户通过鼠标来触发。例如,在待截取的可滑动区域被滑动之前,用户可以通过将鼠标指针放在待截取的可滑动区域内并单击鼠标左键,来触发机器对待截取的可滑动区域开始进行自动滑动。而当想停止滑动时,用户可以通过再次单击鼠标左键或将鼠标指针移动到待截取的可滑动区域之外,来触发机器停止对待截取的可滑动区域的滑动。当然,这仅是一个示例,对此本发明不作具体限定。并且,关于自动滑动过程中发生滑动事件的预设频率,本发明也不作限定。在具体实施例中,本领域的技术人员可以根据实际需要对其进行设定。
其中,无论是用户通过滑动鼠标滚轮来对待截取的可滑动区域进行滑动,还是机器自动滑动待截取的可滑动区域,根据本发明的一个实施例,可以每当监听到截图区域中发生滑动事件时,便更新当前界面所显示的截图区域的缩略图。即,可以在滑动待截取的可滑动区域的过程中,实时更新当前界面所显示的截图区域的缩略图。
还需要说明的是,上述仅是给出了两种对截图区域的内容进行截图的方法。对于在待截取的可滑动区域的滑动过程中具体如何来对截图区域的内容进行截图以获得多张待裁剪图片,本发明不作限定。在具体的实施例中,本领域的技术人员可以根据实际需要进行设定。
另外,为了直观展示,本发明给出了在图4所示的终端界面被滑动过程中截取到的两张相邻的待裁剪图片的示意图(用户选取的截图区域为整个桌面全屏),如图5和图6所示。
随后进入步骤S240,根据获得的待裁剪图片,识别目标区域。目标区域为滑动过程中待截取的可滑动区域内发生变化的内容所属的区域,其在待裁剪图片中具体表征出来便是发生变化的区域。而待裁剪图片中发生变化的区域可以通过图像的异或运算来获取。因此,可以通过矩阵对应数值的异或计算,来识别变化区域,进而得到目标区域。
根据本发明的一个实施例,可以通过如下方法来识别目标区域。具体地:
首先,将所有待裁剪图片的数据分别初始化到数据结构矩阵中,得到每张待裁剪图片对应的矩阵。其中,可以在停止截图获得所有待裁剪图片后,再将所有待裁剪图片的数据分别初始化到数据结构矩阵中,也可以在截图过程中每获的一张待裁剪图片,便将其初始化到数据结构矩阵中。对此,本发明不作具体限定。另外,关于将待裁剪图片的数据分别初始化到Mat矩阵中的具体实现方式为现有技术,这里不再赘述。
然后,将所有相邻的待裁剪图片对应的矩阵进行异或运算,得到多个候选矩阵。即,将两两相邻的待裁剪图片对应的矩阵分别进行异或运算。需要说明的是,此处的相邻是针对获得的待裁剪图片的顺序而言的。例如,获得的第一张待裁剪图片与获得的第二张待裁剪图片相邻,获得的第二张待裁剪图片与获得的第三张待裁剪图片相邻。
根据一种实施例,可以按照获得的待裁剪图片的顺序,依次将两两相邻的待裁剪图片对应的矩阵进行异或运算。具体地,首先将第一张待裁剪图片对应的矩阵数据与第二张待裁剪图片对应的矩阵数据进行异或运算,然后将第二张待裁剪图片对应的矩阵数据与第三张待裁剪图片对应的矩阵数据进行异或运算,接着将第三张待裁剪图片对应的矩阵数据与第四张待裁剪图片对应的矩阵数据进行异或运算,依次类推,直到将最后一张待裁剪图片对应的矩阵数据进行异或运算为止,最终得到多个候选矩阵。当然,这仅是一种示例,在实际中,还可以通过其他的方式来将所有相邻的待裁剪图片对应的矩阵进行异或运算,对此本发明不作限定。
其中,在将两张相邻的待裁剪图片对应的矩阵数据进行异或运算时,可以通过调用OpenCV(开源发行的跨平台计算机视觉和机器学习软件库)库中的bitwise_xor(img1,img2,dst)运算接口来实现。图7示出了调用该接口将img1和img2进行异或运算的示意图(黑色代表0,白色代表1)。具体而言,两个矩阵进行异或运算时,如果相同位置的数据值相同,则得到的候选矩阵中该位置的数值为0,否则,候选矩阵中该位置的数值为1。因此,两个矩阵进行异或运算得到的候选矩阵中只会包含数值0和1。为了直观展示候选矩阵,本发明给出了一个候选矩阵的示例图,如图8所示。
另外,需要说明的是,可以在停止截图将所有待裁剪图片的数据分别初始化到数据结构矩阵中后,再将所有相邻的待裁剪图片对应的矩阵进行异或运算,也可以在截图过程中每获的一张待裁剪图片,便将其初始化到数据结构矩阵中,然后将其与上一张待裁剪图片对应的矩阵进行异或运算,即在停止截图前,一边截图一边初始化一边进行异或运算。对此,本发明不作限定。在具体实施例中,本领域技术人员可以根据实际情况进行选择。
接着,将全部的候选矩阵进行逻辑或运算,得到第一结果矩阵。具体地,可以先将两个候选矩阵A和B进行逻辑或运算,然后将得到的矩阵与候选矩阵C进逻辑或运算,接着将再次得到的矩阵与候选矩阵D进行逻辑或运算,依次类推,直至将全部的候选矩阵进行完逻辑或运算,得到第一结果矩阵。当然,这仅是一示例,对于将全部的候选矩阵进行逻辑或运算的具体方式,本发明不作限定。其中,在将两个矩阵进行逻辑或运算时,可以通过调用OpenCV库中的bitwise_or(img1,img2,dst)运算接口来实现。
同样,需要说明的是,可以在停止截图获得所有候选矩阵后,再将所有候选矩阵进行逻辑或运算,也可以在截图过程中,并行处理截图、初始化、异或运算以及逻辑或运算。对此,本发明不作具体限定。
最后,根据第一结果矩阵,确定目标区域。基于上述描述可知,候选矩阵中数值为1的位置,代表的是两个进行异或的矩阵中数值不同的位置。因此,候选矩阵中数值为1所构成的区域的便是两张相邻待裁剪图片中发生变化的区域。这样,在将所有候选矩阵进行逻辑或运算后,得到的第一结果矩阵中数值为1所围成的区域代表的则是整个滑动过程中待裁剪图片中发生变化的区域。为了便于后续的裁剪、拼接以及得到一张形状规则的图片,可以将第一结果矩阵中包含全部数值1的分块矩阵对应的区域作为目标区域,进一步地,可以将第一结果矩阵中包含全部数值1的最小分块矩阵对应的区域作为目标区域。即,将第一结果矩阵中包含全部数值1的最小矩形区域作为目标区域。为了直观展示目标区域,本发明给出了一个第一结果矩阵的示例图,如图9所示,其中的黑色矩形框区域便是包含全部数值1的最小矩形区域,即目标区域。
另外,上述给出的是基于所有待裁剪图片来识别目标区域。当然,为了快速地识别出目标区域,也可以基于截图过程中获得的两张待裁剪图片来识别目标区域。这样,在截图过程中,便可以基于识别出的目标区域来执行后续的裁剪和拼接步骤。即,在截图过程中,一边截图一边裁剪一边拼接,从而可以提高整体截取长图的效率。因此,本发明又给出了一个识别目标区域的实施例,基于截图过程中获得的两张待裁剪图片来识别目标区域。
具体地:首先,将两张待裁剪图片的数据分别初始化到数据结构矩阵中,得到两个矩阵。其中,为了进一步地提高截取长图的效率,两张待裁剪图片可以是截图过程中获得的第一张待裁剪图片和第二张待裁剪图片。然后,将两个矩阵进行异或运算,得到第二结果矩阵。最后,根据第二结果矩阵,确定目标区域。其中,关于将待裁剪图片的数据初始化到数据结构矩阵中、将两个矩阵进行异或运算以及根据第二结果矩阵确定目标区域的具体实现过程,可以参考上述基于所有待裁剪图片识别目标区域的实施例中的相关之处,在此不再赘述。
根据本发明的一个实施例,识别目标区域的示例性代码如下:
Figure BDA0003259388290000121
随后进入步骤S250,将获得的每张待裁剪图片中目标区域之外的区域裁剪掉,获得多张待拼接图片。其中,在将待裁剪图片中目标区域之外的区域裁剪掉后,每张待裁剪图片中剩余的部分便是目标区域内显示的内容。这样,后续通过将其依次拼接便可获得用户想要截取的长图。
需要说明的是,当为了提高整体截取长图的效率,基于获得的第一张待裁剪图片和第二张待裁剪图片识别目标区域时,可以在识别出目标区域后,每获得一张待裁剪图片,便对获得的待裁剪图片进行裁剪,即在停止截图前,一边截图一边裁剪。
另外,为了直观展示,本发明还给出了将上述图5和图6中目标区域之外的区域裁剪掉后获得的两张待拼接图片的示意图。其中,图10为将图5裁剪后获得的待拼接图片,图11为将图6裁剪后获得的待拼接图片。
随后进入步骤S260,将获得的全部待拼接图片进行去重拼接,以获得目标图片。其中,可以按照截图的先后顺序,来依次将全部待拼接图片进行去重拼接。即,从对第一张待裁剪图片进行裁剪后获得的待拼接图片开始一直拼接到对最后一张待裁剪图片进行裁剪后获得的待拼接图片。具体地:
将对第一张待裁剪图片进行裁剪后获得的待拼接图片作为第一待拼接图片,将对第二张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片。然后,对第一待拼接图片和第二待拼接图片进行去重拼接。接着,将去重拼接得到的图片作为第一待拼接图片,将对下一张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片,再次执行去重拼接的步骤,以此类推,直至将全部待拼接图片拼接完成,获得目标图片。
也就是说,首先将对第一张待裁剪图片进行裁剪后获得的待拼接图片与对第二张待裁剪图片进行裁剪后获得的待拼接图片进行去重拼接。然后,将拼接好的图片与对第三张待裁剪图片进行裁剪后获得的待拼接图片进行去重拼接。接着将再次拼接好的图片与对第四张待裁剪图片进行裁剪后获得的待拼接图片进行去重拼接,依次类推,直到将对最后一张待裁剪图片进行裁剪后获得的待拼接图片进行去重拼接为止,最终得到一张拼接好的长图,即目标图片。
需要说明的是,这只是一种示例,在实际中,也可以采用其他的顺序或方式来对待拼接图片进行拼接,只要保证裁剪后的全部截图拼接后得到的长图内容正确即可。还需说明的是,去重拼接是指拼接图片时去除重叠部分。具体而言,两张相邻的图片进行拼接时,关于重叠部分仅在一张图片中保留,另一张图片中的重叠部分则去除,然后再进行拼接。
接下来,对任意两张待拼接图片进行去重拼接的方法进行说明。为了便于描述,以上述给出的第一待拼接图片和第二待拼接图片为例进行说明。
首先,从第二待拼接图片中截取感兴趣区域。其中,感兴趣区域为第一待拼接图片和第二待拼接图片的部分公共区域或全部公共区域。即,从第二待拼接图片中提取第一待拼接图片和第二待拼接图片的全部重叠区域或部分重叠区域。对此,下面通过一个具体的示例来进行说明。
图12和图13分别示出了根据本发明一个实施例的第一待拼接图片和第二待拼接图片的示意图。其中,第一待拼接图片对应的矩阵数据如图14所示,第二待拼接图片对应的矩阵数据如图15所示。显然,根据图14和图15所示的矩阵数据可知,第一待拼接图片和第二待拼接图片的公共区域是数字31至数字60所在的区域。即,对于第一待拼接图片而言,第一待拼接图片和第二待拼接图片的全部公共区域为其所对应的矩阵数据的最后三行数据。对于第二待拼接图片而言,第一待拼接图片和第二待拼接图片的全部公共区域为其所对应的矩阵数据的前三行数据。因此,当从第二待拼接图片中截取感兴趣区域时,可以提取第二待拼接图片对应的矩阵数据的前三行数据,即图15所示的矩阵数据的前三行数据。当然,也可以从这三行中截取连续的一部分数据作为感兴趣区域。
然后,将感兴趣区域在第一待拼接图片中进行匹配,得到感兴趣区域在第一待拼接图片中的匹配位置。根据本发明的一个实施例,可以依据预设的匹配算法,将从第二待拼接图片中提取出的感兴趣区域在第一待拼接图片中进行匹配,直至达到不能完全匹配的地方结束,得到最佳的匹配位置。
其中,预设的匹配算法可以包括:平方差匹配(CV_TM_SQDIFF)法、相关匹配法(CV_TM_CCORR)、标准相关匹配法(CV_TM_CCORR_NORMED)、相关系数匹配法(CV_TM_CCOEFF)和标准相关系数匹配法(CV_TM_CCOEFF_NORMED)。
具体地,平方差匹配法,利用平方差来进行匹配,最好匹配为0,其中,匹配越差,匹配值越大。相关匹配法,采用模板和图像间的乘法操作,其中,结果数值越大表示匹配程度较高,如果结果数值为0,则表示最坏的匹配效果。相关系数匹配法,将模板对其均值的相对值与图像对其均值的相关值进行匹配,1表示完美匹配,-1表示糟糕的匹配,0表示没有任何相关性(随机序列)。
为了更好的理解本发明中感兴趣区域的匹配过程,下面还以上述给出的图12至图15为例。假设从第二待拼接图片中提取的感兴趣区域是第二待拼接图片对应的矩阵数据的前三行数据(即从第二待拼接图片中提取的是图12和图13的整个重叠区域),则通过图14和图15所示的矩阵数据可以看出,图14的最后三行数据与图15的前三行数据相同。因此,从图15中提取出的感兴趣区域与图14的最佳匹配位置是:感兴趣区域的第一行数据在图14中最佳的匹配位置为倒数第三行数据,感兴趣区域的第三行数据在图14中的最佳的匹配位置为最后一行数据。其实,简而言之,本步骤就是查找从第二待拼接图片中提取出的感兴趣区域在第一待拼接图片中所位于的位置。
接着,获取将感兴趣区域从其在第二待拼接图片中的位置平移到匹配位置所需移动的像素距离。即,获取将感兴趣区域从其在第二待拼接图片中所在的位置平移到其在第一待拼接图片中所在的位置所需移动的像素距离。其中,移动的像素距离包括水平方向移动的像素距离和垂直方向移动的像素距离。
对此,仍以上述给出的图12至图15为例。假设图12和图13对应的待裁剪图片,是在上中下结构的可滑动区域进行滑动时获取的两张相邻图片。则将图15中的前三行数据移动到其在图14中所处的位置(既匹配位置)时,仅需在垂直方向上进行移动,具体需要移动的像素距离则为,将图15中的前三行数据从图14的底部开始移动到其在图14中所处的位置所需平移的像素距离。
最后,按照像素距离,将第二待拼接图片拼接到第一待拼接图片中。即,按照水平方向所需移动的像素距离和/或垂直方向所需移动的像素距离,移动第二待拼接图片,以将第二待拼接图片对应拼接到第一待拼接图片中。
以上述给出的图12至图15为例,在将第二待拼接图片拼接到第一待拼接图片中后,即将图13拼接到图12中后,得到的拼接图片如图16所示,其对应的矩阵数据如图17所示。
需要说明的是,上述仅是给出了一种对两张待拼接图片进行去重拼接的示例。在实际中,也可以采用其他的方法,例如基于模板匹配拼接的方法,对此本发明不作具体限定。
需要说明的是,当为了提高整体截取长图的效率,基于获得的第一张待裁剪图片和第二张待裁剪图片识别目标区域时,可以在识别出目标区域后,每获得一张待裁剪图片,便对获得的待裁剪图片进行裁剪,并将其拼接到当前已拼接好的图片中,即在停止截图前,一边截图一边裁剪一边拼接。
根据本发明的一个实施例,两张待拼接图片进行去重拼接的示例性代码如下:
Figure BDA0003259388290000161
Figure BDA0003259388290000171
至此,便完成了对所有待拼接图片的拼接,获得了一张拼接好的长图,即目标图片。其中,在获得目标图片后,若用户设定了目标图片的存储格式,则将目标图片按照用户所设定的格式进行存储。否则,将目标图片按照默认格式存储。另外,若用户设定了目标图片的存储位置,则将目标图片存储至用户所设定的存储位置处。否则,将目标图片存储至默认的存储位置处。
为了更好的说明本发明的完整实现过程,本发明又给出了一个实施例。图18示出了根据本发明又一个实施例的截图处理方法1800的流程图,方法1800适于在计算设备(例如图1所示的计算设备100)中执行。如图18所示,该方法始于步骤S1810。首先说明一点,该实施例中的滑动事件是由用户滑动鼠标的滚轮来触发。
在步骤S1810中,当监听到截图开始指令被触发时,获取用户选取的截图区域,随后进入步骤S1820。
需要说明的是,本实施例中获取用户选取的截图区域的具体实现方式,与上述方法200中步骤S210中提到的获取用户选取的截图区域的实现方式相似或相同,相关之处,可参考对上述步骤S210的描述,这里不再赘述。
在步骤S1820中,开始对用户选取的截图区域进行截图,并每监听到一次滑动事件,对用户选取的截图区域进行一次截图,随后进入步骤S1830。
需要说明的是,本实施例中对用户选取的截图区域进行截图的具体实现方式,与上述方法200中步骤S220或S230中提到的对截图区域进行截图的实现方式相似或相同,相关之处,可参考对上述步骤S220和S230的描述,这里不再赘述。
在步骤S1830中,判断截图区域中是否还存在滑动事件,若存在则返回步骤S1820,否则进入步骤S1840。
在步骤S1840中,根据获得的所有截图,识别截图中发生变化的目标区域,随后进入步骤S1850。
需要说明的是,本实施例中识别目标区域的具体实现方式,与上述方法200中步骤S240中提到的基于所有待裁剪图片识别目标区域的实现方式相似或相同,相关之处,可参考对上述步骤S240的描述,这里不再赘述。
在步骤S1850中,将获得的每张截图中目标区域之外的区域裁剪掉,随后进入步骤S1860。
需要说明的是,本实施例中裁剪截图中目标区域之外的区域的具体实现方式,与上述方法200中步骤S250中提到的裁剪待裁剪图片中目标区域之外的区域的实现方式相似或相同,相关之处,可参考对上述步骤S250的描述,这里不再赘述。
在步骤S1860中,将裁剪后的全部截图进行拼接,随后进入步骤S1870。
需要说明的是,本实施例中对裁剪后的截图进行拼接的具体方式与上述方法200中步骤S260中提到的拼接待拼接图片的实现方式相似或相同,相关之处,可参考对上述步骤S260的描述,这里不再赘述。
在步骤S1870中,将最终拼接好的图片进行存储。
其中,若用户设定了拼接好的图片的存储格式,则将拼接好的图片按照用户所设定的格式进行存储。否则,将拼接好的图片按照默认格式存储。另外,若用户设定了拼接好的图片的存储位置,则将拼接好的图片存储至用户所设定的存储位置处。否则,将拼接好的图片存储至默认的存储位置处。
根据本发明的截图处理方法,获得待裁剪图片后首先识别其中发生变化的目标区域,然后将每张待裁剪图片中目标区域之外的区域裁剪掉,最后将裁剪后得到的所有待拼接图片进行去重拼接。可见,本发明选取的截图区域只要包括待截取的可滑动区域即可,不需用户特意仅选取待截取的可滑动区域作为截图区域,从而可以提升用户的体验。
当用户选取的截图区域除了包括待截取的可滑动区域外还包括其他区域时,本发明通过图像识别以及图像裁剪两个步骤,便能使裁剪后的图片仅包括滑动过程中内容发生变化的区域。因此即使在用户选取的截图区域不准确的情况下,本发明仍能精准的获得滑动过程中内容发生变化的区域,从而可以提高截取长图的成功率。
并且,由于本发明能够识别出待裁剪图片中发生变化的目标区域,因此,对于包含有多个可滑动窗口或者既包含有可滑动窗口又包含有非可滑动窗口的应用中的任一可滑动窗口界面中的内容,本发明都可以进行长截图。
另外,说明一点,本发明的截图处理方法可以在Linux操作系统上以及UOS操作系统上运行,因此解决了Linux操作系统以及UOS操作系统至今无长截图工具的现状。但需注意的是,本发明的截图处理方法并不局限于Linux操作系统以及UOS操作系统,对于其他的操作系统同样适用,例如Unix、Windows等。
A9、如A1-A8中任一项所述的方法,其中,在获取到用户选取的截图区域后,还包括:显示所述截图区域的缩略图,并在监听到所述截图区域中发生滑动事件时,更新所述截图区域的缩略图。A10、如A1-A9中任一项所述的方法,还包括:若用户设定了所述目标图片的存储格式,则将所述目标图片按照用户所设定的格式进行存储;否则,将所述目标图片按照默认格式存储。A11、如A1-A10中任一项所述的方法,还包括:若用户设定了所述目标图片的存储位置,则将所述目标图片存储至用户所设定的存储位置处;否则,将所述目标图片存储至默认的存储位置处。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文档加载方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种截图处理方法,适于在计算设备中执行,所述方法包括:
获取用户选取的截图区域,所述截图区域包括待截取的可滑动区域;
对所述截图区域进行截图,获得第一张待裁剪图片;
当监听到所述截图区域中发生滑动事件时,对所述截图区域进行截图,获得若干张待裁剪图片;
根据获得的待裁剪图片,识别目标区域,所述目标区域为滑动过程中所述可滑动区域内发生变化的内容所属的区域;
将获得的每张待裁剪图片中的所述目标区域之外的区域裁剪掉,获得多张待拼接图片;
将获得的全部待拼接图片进行去重拼接,获得目标图片。
2.如权利要求1所述的方法,其中,所述根据获得的待裁剪图片,识别目标区域的步骤,包括:
将所有待裁剪图片的数据分别初始化到数据结构矩阵中,得到每张待裁剪图片对应的矩阵;
将所有相邻的待裁剪图片对应的矩阵进行异或运算,得到多个候选矩阵;
将全部所述候选矩阵进行逻辑或运算,得到第一结果矩阵;
根据所述第一结果矩阵,确定所述目标区域。
3.如权利要求1所述的方法,其中,所述根据获得的待裁剪图片,识别目标区域的步骤,包括:
将两张待裁剪图片的数据分别初始化到数据结构矩阵中,得到两个矩阵;
将所述两个矩阵进行异或运算,得到第二结果矩阵;
根据所述第二结果矩阵,确定所述目标区域。
4.如权利要求2或3所述的方法,其中,结果矩阵中包含全部数值1的最小矩形区域为目标区域。
5.如权利要求3或4所述的方法,其中,所述两张待裁剪图片为截图过程中获得的第一张待裁剪图片和第二张待裁剪图片。
6.如权利要求1-5中任一项所述的方法,其中,所述将获得的全部待拼接图片进行去重拼接的步骤,包括:
将对第一张待裁剪图片进行裁剪后获得的待拼接图片作为第一待拼接图片,将对第二张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片;
对第一待拼接图片和第二待拼接图片进行去重拼接;
将去重拼接得到的图片作为第一待拼接图片,将对下一张待裁剪图片进行裁剪后获得的待拼接图片作为第二待拼接图片,再次执行上述去重拼接的步骤,以此类推,直至将全部待拼接图片拼接完成,获得目标图片。
7.如权利要求6所述的方法,其中,所述对第一待拼接图片和第二待拼接图片进行去重拼接的步骤,包括:
从所述第二待拼接图片中截取感兴趣区域,所述感兴趣区域为所述第一待拼接图片和所述第二待拼接图片的部分公共区域或全部公共区域;
将所述感兴趣区域在所述第一待拼接图片中进行匹配,得到所述感兴趣区域在所述第一待拼接图片中的匹配位置;
获取将所述感兴趣区域从其在所述第二待拼接图片中的位置平移到所述匹配位置所需移动的像素距离;
按照所述像素距离,将所述第二待拼接图片拼接到所述第一待拼接图片中。
8.如权利要求7所述的方法,其中,所述将所述感兴趣区域在所述第一待拼接图片中进行匹配的步骤,包括:
依据预设的匹配算法,将所述感兴趣区域在所述第一待拼接图片中进行匹配,所述预设的匹配算法包括平方差匹配法、相关匹配法、标准相关匹配法、相关系数匹配法和标准相关系数匹配法。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202111068247.3A 2021-09-13 2021-09-13 一种截图处理方法、计算设备及可读存储介质 Active CN113791722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068247.3A CN113791722B (zh) 2021-09-13 2021-09-13 一种截图处理方法、计算设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068247.3A CN113791722B (zh) 2021-09-13 2021-09-13 一种截图处理方法、计算设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113791722A true CN113791722A (zh) 2021-12-14
CN113791722B CN113791722B (zh) 2024-08-06

Family

ID=78880046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068247.3A Active CN113791722B (zh) 2021-09-13 2021-09-13 一种截图处理方法、计算设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113791722B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103826102A (zh) * 2014-02-24 2014-05-28 深圳市华宝电子科技有限公司 一种运动目标的识别方法、装置
CN105094617A (zh) * 2015-08-24 2015-11-25 北京锤子数码科技有限公司 一种截屏方法及装置
CN110888576A (zh) * 2018-09-10 2020-03-17 珠海格力电器股份有限公司 一种截图方法和装置
CN110969594A (zh) * 2019-11-29 2020-04-07 广东优世联合控股集团股份有限公司 图像拼接方法
CN111784576A (zh) * 2020-06-11 2020-10-16 长安大学 一种基于改进orb特征算法的图像拼接方法
CN112365404A (zh) * 2020-11-23 2021-02-12 成都唐源电气股份有限公司 一种基于多相机的接触网全景图像拼接方法、系统及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103826102A (zh) * 2014-02-24 2014-05-28 深圳市华宝电子科技有限公司 一种运动目标的识别方法、装置
CN105094617A (zh) * 2015-08-24 2015-11-25 北京锤子数码科技有限公司 一种截屏方法及装置
CN110888576A (zh) * 2018-09-10 2020-03-17 珠海格力电器股份有限公司 一种截图方法和装置
CN110969594A (zh) * 2019-11-29 2020-04-07 广东优世联合控股集团股份有限公司 图像拼接方法
CN111784576A (zh) * 2020-06-11 2020-10-16 长安大学 一种基于改进orb特征算法的图像拼接方法
CN112365404A (zh) * 2020-11-23 2021-02-12 成都唐源电气股份有限公司 一种基于多相机的接触网全景图像拼接方法、系统及设备

Also Published As

Publication number Publication date
CN113791722B (zh) 2024-08-06

Similar Documents

Publication Publication Date Title
US11423633B2 (en) Image processing to detect a rectangular object
CN110458855B (zh) 图像提取方法及相关产品
CN105894464A (zh) 一种中值滤波图像处理方法和装置
CN111914775A (zh) 活体检测方法、装置、电子设备及存储介质
CN110796016A (zh) 工程图纸识别方法、电子设备及相关产品
CN112118483A (zh) 视频处理方法、装置、设备和存储介质
Fried et al. Finding distractors in images
CN112308859A (zh) 生成缩略图的方法、装置、相机以及存储介质
CN108805799B (zh) 全景图像合成装置、方法及计算机可读存储介质
CN111178200B (zh) 一种仪表盘指示灯的识别方法及计算设备
CN110766068B (zh) 一种验证码识别方法及计算设备
US9767588B2 (en) Method and apparatus for image processing
CN112115811A (zh) 基于隐私保护的图像处理方法、装置和电子设备
CN111783561A (zh) 审图结果修正方法、电子设备及相关产品
CN113791722A (zh) 一种截图处理方法、计算设备及可读存储介质
CN113763233B (zh) 一种图像处理方法、服务器及拍照设备
JP2017162179A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2017120455A (ja) 情報処理装置、プログラム及び制御方法
CN114529912A (zh) 图形验证码识别方法、装置、电子设备及可读存储介质
CN111860475A (zh) 图像处理方法和装置、电子设备及存储介质
CN108038514A (zh) 一种用于识别图像的方法、设备和计算机程序产品
CN117576109B (zh) 一种缺陷检测方法、装置、设备及存储介质
TWI526987B (zh) 基於涵蓋視覺內容最大化之即時影像拼接方法
CN112819863B (zh) 一种远距离虹膜识别中的抓拍目标跟踪方法及计算设备
CN115456860B (zh) 基于fpga的图像增强方法、装置、头盔、设备及介质

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