CN114820882A - 一种图像获取方法、装置、设备及存储介质 - Google Patents
一种图像获取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114820882A CN114820882A CN202210412595.6A CN202210412595A CN114820882A CN 114820882 A CN114820882 A CN 114820882A CN 202210412595 A CN202210412595 A CN 202210412595A CN 114820882 A CN114820882 A CN 114820882A
- Authority
- CN
- China
- Prior art keywords
- window
- image
- information
- target application
- position information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000008569 process Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- 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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
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)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种图像获取方法、装置、设备及存储介质,涉及人工智能技术领域,具体涉及计算机视觉和智能云技术领域。具体实现方案为:响应于应用图像获取请求,根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用的已启动窗口的窗口信息;所述窗口信息包括窗口标识信息;根据所述已启动窗口的窗口信息,获取所述目标应用的窗口图像。通过上述技术方案,能够快速、准确且全面的获取到窗口相关信息,从而提高在MacOS上截取应用的窗口图像的效率。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及计算机视觉和智能云技术领域,具体涉及一种图像获取方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,苹果操作系统(MacOS)的使用越来越广泛。其中,用户在使用配置有MacOS设备的过程中,存在截取应用的窗口图像的需求。那么,如何在MacOS上快速截取应用的窗口图像至关重要。
发明内容
本公开提供了一种图像获取方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种图像获取方法,该方法包括:
响应于应用图像获取请求,根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用的已启动窗口的窗口信息;所述窗口信息包括窗口标识信息;
根据所述已启动窗口的窗口信息,获取所述目标应用的窗口图像。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述图像获取方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开任一实施例所述的图像获取方法。
根据本公开的技术,能够提高在MacOS上截取应用的窗口图像的效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例提供的一种图像获取方法的流程图;
图2是根据本公开实施例提供的另一种图像获取方法的流程图;
图3是根据本公开实施例提供的又一种图像获取方法的流程图;
图4是根据本公开实施例提供的一种图像获取装置的结构示意图;
图5是用来实现本公开实施例的图像获取方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例提供的一种图像获取方法的流程图,该方法适用于如何获取图像的情况,尤其适用于如何在MacOS上截取应用的窗口图像的情况。该方法可以由图像获取装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载图像获取功能的电子设备中。如图1所示,本实施例的图像获取方法可以包括:
S101,响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息。
本实施例中,应用图像获取请求为用于获取目标应用的窗口图像的请求。可选的,应用图像获取请求中可以包括目标应用的应用标识信息;其中,应用标识信息是指用于唯一识别应用的标识符,例如在MacOS下,应用标识信息可以是应用的bundle id。
一个应用可具有一个或多个窗口。本实施例中目标应用的已启动窗口即为,截止到获取到应用图像获取请求这一时刻,当前系统已启动的目标应用的窗口;可选的,已启动窗口的数量可以为一个或多个。
所谓窗口信息为与窗口相关的信息,可以包括窗口标识信息,其中,窗口标识信息是指用于唯一识别窗口的标识符,例如可以是窗口id;进一步的,窗口信息还可以包括窗口尺寸信息、窗口位置信息和窗口启动时间等,其中窗口尺寸信息为窗口分辨率,窗口位置信息可以包括窗口的四个顶点的坐标信息,具体可以包括窗口的四个顶点相对于桌面原点坐标(0,0)的坐标信息。
可选的,用户在具有应用图像获取需求时,可以发起包括目标应用的应用标识信息的应用图像获取请求;响应于用户发起的应用图像获取请求,可以先根据目标应用的应用标识信息,确定目标应用是否被运行,若目标应用已运行,则根据目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息。
其中,确定目标应用是否被运行的方式可以是,获取当前系统所运行的所有应用的应用标识信息,将目标应用的应用标识信息和所获取的所有应用的应用标识信息进行一一比对,根据比对结果,确定目标应用是否被运行。可选的,若根据比对结果,确定当前系统所运行的所有应用中包括目标应用,则确定目标应用已运行。
一种可选方式,可以根据应用图像请求中目标应用的应用标识信息,从当前系统已启动的所有窗口中确定目标应用的已启动窗口。例如可以是,基于窗口与应用标识信息之间的关联关系,根据目标应用的应用标识信息,遍历当前系统已启动的所有窗口,以确定目标应用的已启动窗口,并获取已启动窗口的窗口信息。
S102,根据已启动窗口的窗口信息,获取目标应用的窗口图像。
可选的,在已启动窗口的数量为一个的情况下,可以根据已启动窗口的窗口标识信息,获取目标应用的窗口图像。例如可以是,可以采用在MacOS上根据窗口标识信息获取图像的方式,来获取窗口对应的图像,比如可以基于cmd+shift+4->space来截取窗口对应的图像。
进一步的,在已启动窗口的数量为两个或两个以上的情况下,可以根据已启动窗口的窗口标识信息、窗口尺寸信息和窗口位置信息,来获取目标应用的窗口图像。
需要说明的是,不管目标应用处于后台运行状态,还是当前显示状态,只要目标应用在运行,通过本方案都能够截取到目标应用已启动窗口的完整图像。
本公开实施例的技术方案,通过响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息;之后根据已启动窗口的窗口信息,获取目标应用的窗口图像。上述技术方案,基于应用标识信息来获取所启动的窗口信息,在系统启动应用数量较多的情况下,可以快速、准确且全面的获取到窗口信息,提高了窗口信息的获取效率,从而提高了在MacOS上截取应用的窗口图像的效率。
在MacOS系统中一个应用只能启动一个实例,即一个应用只对应一个运行进程,进而可以基于运行目标应用的运行进程,来获取目标应用的已启动窗口的窗口信息。
可选的,在上述实施例的基础上,作为本公开的一种可选方式,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息还可以是,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用对应的运行进程的进程标识信息;根据进程标识信息,获取目标应用的已启动窗口的窗口信息。
其中,进程标识信息是指用于唯一表征运行目标应用的进程的标识符,例如可以是进程id。可选的,一个运行进程可以对应一个应用中的多个窗口。
具体的,获取当前系统所有的运行进程,基于运行进程与应用之间的对应关系,根据目标应用的应用标识信息,遍历所获取的所有运行进程,以确定目标应用对应的运行进程。进而根据目标应用对应的运行进程的进程标识信息,获取目标应用的已启动窗口的窗口信息,例如可以是,基于窗口与进程标识信息之间的关联关系,根据目标应用对应的运行进程的进程标识信息,遍历当前系统已启动的所有窗口,以确定目标应用的已启动窗口,并获取已启动窗口的窗口信息。
可以理解的是,基于进程标识信息来获取目标应用的已启动窗口的窗口信息,进一步提高了目标应用的已启动窗口的窗口信息的获取效率。
在上述实施例的基础上,作为本公开的一种可选方式,根据已启动窗口的窗口信息,获取目标应用的窗口图像还可以是,根据已启动窗口的窗口信息,获取目标应用的初始图像;对初始图像进行缩放和/或旋转处理,得到目标应用的窗口图像。
具体的,根据已启动窗口的窗口信息,获取目标应用的初始图像,例如可以根据已启动窗口的窗口标识信息,获取目标应用的初始图像;进一步的,还可以根据已启动窗口的窗口标识信息、窗口尺寸信息和窗口位置信息,获取目标应用的初始图像。之后,可以响应于对初始图像的缩放和/或旋转操作,或者,根据用户提供的图像展示信息,对初始图像进行缩放和/或旋转处理,得到目标应用的窗口图像。其中,图像展示信息中可以包括展示尺寸信息和/或展示方位信息。
可以理解的是,可以根据用户需要对目标应用的初始图像进行缩放和旋转处理,进一步提升了用户的截图体验。
图2是根据本公开实施例提供的另一种图像获取方法的流程图。本实施例在上述实施例的基础上,对“根据已启动窗口的窗口信息,获取目标应用的窗口图像”进一步优化,提供了一种可选实施方案。如图2所示,本实施例的图像获取方法可以包括:
S201,响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息。
本实施例中,窗口信息可以包括但不限于窗口标识信息、窗口尺寸信息和窗口位置信息。
S202,根据已启动窗口的窗口启动时间,从已启动窗口中确定主窗口和次窗口。
本实施例中,窗口启动时间为窗口被触发启动时的时间。
具体的,在已启动窗口的数量为多个的情况下,可以将已启动窗口中窗口启动时间最早的窗口作为主窗口,其余已启动窗口作为次窗口。
S203,根据主窗口的窗口标识信息,获取主窗口对应的主图像。
具体的,可以采用在MacOS上根据窗口标识信息获取图像的方式,根据主窗口的窗口标识信息,来获取该主窗口对应的主图像。例如,可以先根据主窗口的窗口标识信息,从当前系统已启动的所有窗口中定位主窗口,而后基于cmd+shift+4->space来截取主窗口对应的主图像。
S204,根据次窗口的窗口标识信息,获取次窗口对应的次图像。
具体的,对于每一次窗口,也可以采用在MacOS上根据窗口标识信息获取图像的方式,根据该次窗口的窗口标识信息,来获取该次窗口对应的次图像。例如,可以先根据该次窗口的窗口标识信息,从当前系统已启动的所有窗口中定位该次窗口,而后基于cmd+shift+4->space来截取该次窗口对应的次图像。
S205,根据主窗口的窗口尺寸信息、窗口位置信息和主图像,以及次窗口的窗口位置信息和次图像,获取目标应用的窗口图像。
一种可选方式,可以根据主窗口的窗口尺寸信息,绘制一个可编辑界面,比如空白画布,之后根据主窗口的窗口位置信息,以及次窗口的窗口位置信息,将主图像和次图像渲染至空白画布中,以获取目标应用的窗口图像。
另一种可选方式,可以根据主窗口的窗口尺寸信息和次窗口的窗口尺寸信息,创建空白画布,例如可以是,比较主窗口和次窗口的窗口尺寸信息,依据主窗口和次窗口中窗口尺寸信息大的窗口尺寸信息,创建空白画布,进而根据主窗口的窗口位置信息和主图像,以及次窗口的窗口位置信息和次图像,依次渲染至空白画布,以获取目标应用的窗口图像。
本公开实施例的技术方案,通过响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息,之后根据已启动窗口的窗口启动时间,从已启动窗口中确定主窗口和次窗口,根据主窗口的窗口标识信息,获取主窗口对应的主图像,并根据次窗口的窗口标识信息,获取次窗口对应的次图像,进而根据主窗口的窗口尺寸信息、窗口位置信息和主图像,以及次窗口的窗口位置信息和次图像,获取目标应用的窗口图像。上述技术方案,在目标应用的已启动窗口数量较多的情况下,可以截取目标应用的已启动窗口的完整图像。
图3是根据本公开实施例提供的又一种图像获取方法的流程图。本实施例在上述实施例的基础上,对“根据主窗口的窗口尺寸信息、窗口位置信息和主图像,以及次窗口的窗口位置信息和次图像,获取目标应用的窗口图像”进一步优化,提供了一种可选实施方案。如图3所示,本实施例的图像获取方法可以包括:
S301,响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息。
本实施例中,窗口信息包括但不限于窗口标识信息、窗口尺寸信息和窗口位置信息。
S302,根据已启动窗口的窗口启动时间,从已启动窗口中确定主窗口和次窗口。
S303,根据主窗口的窗口标识信息,获取主窗口对应的主图像。
S304,根据次窗口的窗口标识信息,获取次窗口对应的次图像。
S305,根据主窗口的窗口尺寸信息,创建空白画布。
具体的,以主窗口的窗口尺寸信息,作为空白画布的尺寸信息,来创建一个空白画布。比如,主窗口的窗口尺寸信息为600*600,此时可以创建一个600*600的空白画布。
S306,将主图像渲染至空白画布上,得到中间图像。
本实施例中,中间图像为可编辑的图像。
具体的,可以将主图像平铺到空白画布上,以得到中间图像。
S307,根据主窗口的窗口位置信息和次窗口的窗口位置信息,确定次图像在中间图像上的相对位置信息。
本实施例中,相对位置信息为次窗口对应的图像在中间图像上的位置信息。
一种可选方式,可以基于预先训练好的模型,根据主窗口的窗口位置信息和次窗口的窗口位置信息,来确定次图像在中间图像上的相对位置信息。
又一种可选方式,还可以从主窗口的窗口位置信息中确定主窗口的基准点坐标;确定次窗口的窗口位置信息与主窗口的基准点坐标之间的差值;根据差值,确定次图像在中间图像上的相对位置信息。
其中,基准点坐标为主窗口的窗口位置信息中可以作为画布的基准点的顶点的顶点坐标。
具体的,若次窗口在主窗口内部,即次窗口全部覆盖于主窗口之上,则可以以主窗口的窗口位置信息中左上顶点坐标为主窗口的基准点坐标,之后,对于每一次窗口,可以计算该次窗口的窗口位置信息(具体为该次窗口的每一顶点坐标)与主窗口的基准点坐标之间的差值,将差值作为该次窗口对应的次图像在中间图像上的相对位置信息。
进一步的,若次窗口和主窗口存在部分重叠,即次窗口部分覆盖于主窗口之上,则确定次窗口与主窗口的重叠窗口,以及重叠窗口的窗口位置信息,之后,以主窗口的窗口位置信息中左上顶点坐标为主窗口的基准点坐标,进而,计算重叠窗口的窗口位置信息(具体为该重叠窗口的每一顶点坐标)与主窗口的基准点坐标之间的差值,将差值作为次窗口对应的次图像在中间图像上的相对位置信息。
可以理解的是,设定基准点来确定次图像在中间图像上的相对位置信息,可以避免所绘制的次图像畸变,保证了最终覆盖在中间图像上的次图像的原始面貌。
S308,根据相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。
具体的,对于每一次图像,依次根据相对位置信息,将该次图像叠加至中间图像上,以得到目标应用的窗口图像。
本公开实施例的技术方案,通过响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息,之后根据已启动窗口的窗口启动时间,从已启动窗口中确定主窗口和次窗口,根据主窗口的窗口标识信息,获取主窗口对应的主图像,并根据次窗口的窗口标识信息,获取次窗口对应的次图像,进而根据主窗口的窗口尺寸信息,创建空白画布,将主图像渲染至空白画布上,得到中间图像,根据主窗口的窗口位置信息和次窗口的窗口位置信息,确定次图像在中间图像上的相对位置信息,并根据相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。上述技术方案,在目标应用的已启动窗口数量为多个的情况下,通过引入空白画布,为在MacOS上截取应用的完整窗口图像提供了一种优选方式,丰富了在MacOS上截图的功能,进一步提升了用户的使用体验。
在上述实施例的基础上,作为本公开的一种可选方式,若次窗口的数量为至少两个,则根据相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像还可以是,根据至少两个次窗口的窗口启动时间,确定至少两个次窗口对应次图像的层叠顺序;根据层叠顺序,以及至少两个次图像在中间图像上的相对位置信息,将至少两个次图像叠加至中间图像上,得到目标应用的窗口图像。
具体的,将至少两个次窗口的窗口启动时间的先后顺序,作为至少两个次窗口对应次图像的层叠顺序,进而根据至少两个次图像在中间图像上的相对位置信息,按照层叠顺序,依次将至少两个次图像叠加至中间图像上,得到目标应用的窗口图像。
可以理解的是,通过窗口启动时间来确定层叠顺序,并基于层叠顺序来获取目标应用的窗口图像,贴合目标应用的已启动窗口的实际情况,真实还原了目标应用的已启动窗口的本来面貌。
在上述实施例的基础上,作为本公开的一种可选方式,若次窗口的数量为至少两个,则根据相对位置信息,将次图像叠加至中间图像上,得到目标应用的应用窗口图像还可以是,根据设定窗口叠加数值和至少两个次窗口的窗口启动时间,从至少两个次窗口中选择目标窗口;根据目标窗口对应的次图像在中间图像上的相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。
具体的,可以根据至少两个次窗口的窗口启动时间的先后顺序,对至少两个次窗口进行排序,将排序靠前的设定窗口叠加数值的次窗口,作为目标窗口,进而根据目标窗口对应的次图像在中间图像上的相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。
可以理解的是,在次窗口数据过多的情况下,引入叠加数量限定条件,即设定窗口叠加数值,根据窗口启动时间,可以灵活的选择次窗口,从而避免了目标应用的窗口图像由于次窗口图像过多造成图像混乱的情况。
图4是根据本公开实施例提供的一种图像获取装置的结构示意图。本公开实施例适用于如何获取图像的情况,尤其适用于如何在MacOS上截取应用的窗口图像的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例的图像获取方法。如图4所示,该图像获取装置400包括:
窗口信息获取模块401,用于响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息;
窗口图像获取模块402,用于根据已启动窗口的窗口信息,获取目标应用的窗口图像。
本公开实施例的技术方案,通过响应于应用图像获取请求,根据应用图像获取请求中目标应用的应用标识信息,获取目标应用的已启动窗口的窗口信息,之后根据已启动窗口的窗口信息,获取目标应用的窗口图像。上述技术方案,基于应用标识信息来获取所启动的窗口信息,在系统启动应用数量较多的情况下,可以快速、准确且全面的获取到窗口信息,提高了窗口信息的获取效率,从而提高了在MacOS上截取应用的窗口图像的效率。
进一步地,窗口信息获取模块401具体用于:
根据应用图像获取请求中目标应用的应用标识信息,获取目标应用对应的运行进程的进程标识信息;
根据进程标识信息,获取目标应用的已启动窗口的窗口信息。
进一步地,窗口信息还包括窗口尺寸信息和窗口位置信息;相应的,窗口图像获取模块402包括:
窗口确定单元,用于根据已启动窗口的窗口启动时间,从已启动窗口中确定主窗口和次窗口;
主图像获取单元,用于根据主窗口的窗口标识信息,获取主窗口对应的主图像;
次图像获取单元,用于根据次窗口的窗口标识信息,获取次窗口对应的次图像;
窗口图像获取单元,用于根据主窗口的窗口尺寸信息、窗口位置信息和主图像,以及次窗口的窗口位置信息和次图像,获取目标应用的窗口图像。
进一步地,窗口图像获取单元包括:
空白画布创建子单元,用于根据主窗口的窗口尺寸信息,创建空白画布;
中间图像确定子单元,用于将主图像渲染至空白画布上,得到中间图像;
相对位置信息确定子单元,用于根据主窗口的窗口位置信息和次窗口的窗口位置信息,确定次图像在中间图像上的相对位置信息;
窗口图像确定子单元,用于根据相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。
进一步地,相对位置信息确定子单元具体用于:
从主窗口的窗口位置信息中确定主窗口的基准点坐标;
确定次窗口的窗口位置信息与主窗口的基准点坐标之间的差值;
根据差值,确定次图像在中间图像上的相对位置信息。
进一步地,若次窗口的数量为至少两个,则窗口图像确定子单元具体用于:
根据至少两个次窗口的窗口启动时间,确定至少两个次窗口对应次图像的层叠顺序;
根据层叠顺序,以及至少两个次图像在中间图像上的相对位置信息,将至少两个次图像叠加至中间图像上,得到目标应用的窗口图像。
进一步地,若次窗口的数量为至少两个,则窗口图像确定子单元还具体用于:
根据设定窗口叠加数值和至少两个次窗口的窗口启动时间,从至少两个次窗口中选择目标窗口;
根据目标窗口对应的次图像在中间图像上的相对位置信息,将次图像叠加至中间图像上,得到目标应用的窗口图像。
进一步地,窗口图像获取模块具体用于:
根据已启动窗口的窗口信息,获取目标应用的初始图像;
对初始图像进行缩放和/或旋转处理,得到目标应用的窗口图像。
本公开的技术方案中,所涉及的初始图像和窗口图像等的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如图像获取方法。例如,在一些实施例中,图像获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的图像获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像获取方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种图像获取方法,包括:
响应于应用图像获取请求,根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用的已启动窗口的窗口信息;所述窗口信息包括窗口标识信息;
根据所述已启动窗口的窗口信息,获取所述目标应用的窗口图像。
2.根据权利要求1所述的方法,其中,所述根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用的已启动窗口的窗口信息,包括:
根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用对应的运行进程的进程标识信息;
根据所述进程标识信息,获取所述目标应用的已启动窗口的窗口信息。
3.根据权利要求1所述的方法,其中,所述窗口信息还包括窗口尺寸信息和窗口位置信息;
相应的,所述根据所述已启动窗口的窗口信息,获取所述目标应用的窗口图像,包括:
根据所述已启动窗口的窗口启动时间,从所述已启动窗口中确定主窗口和次窗口;
根据所述主窗口的窗口标识信息,获取所述主窗口对应的主图像;
根据所述次窗口的窗口标识信息,获取所述次窗口对应的次图像;
根据所述主窗口的窗口尺寸信息、窗口位置信息和主图像,以及所述次窗口的窗口位置信息和次图像,获取所述目标应用的窗口图像。
4.根据权利要求3所述的方法,其中,所述根据所述主窗口的窗口尺寸信息、窗口位置信息和主图像,以及所述次窗口的窗口位置信息和次图像,获取所述目标应用的窗口图像,包括:
根据所述主窗口的窗口尺寸信息,创建空白画布;
将所述主图像渲染至所述空白画布上,得到中间图像;
根据所述主窗口的窗口位置信息和所述次窗口的窗口位置信息,确定所述次图像在所述中间图像上的相对位置信息;
根据所述相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的窗口图像。
5.根据权利要求4所述的方法,其中,所述根据所述主窗口的窗口位置信息和所述次窗口的窗口位置信息,确定所述次图像在所述中间图像上的相对位置信息,包括:
从所述主窗口的窗口位置信息中确定所述主窗口的基准点坐标;
确定所述次窗口的窗口位置信息与所述主窗口的基准点坐标之间的差值;
根据所述差值,确定所述次图像在所述中间图像上的相对位置信息。
6.根据权利要求4所述的方法,其中,若所述次窗口的数量为至少两个,则所述根据所述相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的窗口图像,包括:
根据至少两个次窗口的窗口启动时间,确定至少两个次窗口对应次图像的层叠顺序;
根据所述层叠顺序,以及至少两个次图像在所述中间图像上的相对位置信息,将至少两个次图像叠加至所述中间图像上,得到所述目标应用的窗口图像。
7.根据权利要求4所述的方法,其中,若所述次窗口的数量为至少两个,则所述根据所述相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的应用窗口图像,包括:
根据设定窗口叠加数值和至少两个次窗口的窗口启动时间,从至少两个次窗口中选择目标窗口;
根据所述目标窗口对应的次图像在所述中间图像上的相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的窗口图像。
8.根据权利要求1所述的方法,其中,所述根据所述已启动窗口的窗口标识信息、窗口尺寸信息和窗口位置信息,获取所述目标应用的窗口图像,包括:
根据所述已启动窗口的窗口信息,获取所述目标应用的初始图像;
对所述初始图像进行缩放和/或旋转处理,得到所述目标应用的窗口图像。
9.一种图像获取装置,包括:
窗口信息获取模块,用于响应于应用图像获取请求,根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用的已启动窗口的窗口信息;所述窗口信息包括窗口标识信息;
窗口图像获取模块,用于根据所述已启动窗口的窗口信息,获取所述目标应用的窗口图像。
10.根据权利要求9所述的装置,其中,所述窗口信息获取模块具体用于:
根据所述应用图像获取请求中目标应用的应用标识信息,获取所述目标应用对应的运行进程的进程标识信息;
根据所述进程标识信息,获取所述目标应用的已启动窗口的窗口信息。
11.根据权利要求9所述的装置,其中,所述窗口信息还包括窗口尺寸信息和窗口位置信息;
相应的,所述窗口图像获取模块包括:
窗口确定单元,用于根据所述已启动窗口的窗口启动时间,从所述已启动窗口中确定主窗口和次窗口;
主图像获取单元,用于根据所述主窗口的窗口标识信息,获取所述主窗口对应的主图像;
次图像获取单元,用于根据所述次窗口的窗口标识信息,获取所述次窗口对应的次图像;
窗口图像获取单元,用于根据所述主窗口的窗口尺寸信息、窗口位置信息和主图像,以及所述次窗口的窗口位置信息和次图像,获取所述目标应用的窗口图像。
12.根据权利要求11所述的装置,其中,所述窗口图像获取单元包括:
空白画布创建子单元,用于根据所述主窗口的窗口尺寸信息,创建空白画布;
中间图像确定子单元,用于将所述主图像渲染至所述空白画布上,得到中间图像;
相对位置信息确定子单元,用于根据所述主窗口的窗口位置信息和所述次窗口的窗口位置信息,确定所述次图像在所述中间图像上的相对位置信息;
窗口图像确定子单元,用于根据所述相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的窗口图像。
13.根据权利要求12所述的装置,其中,所述相对位置信息确定子单元具体用于:
从所述主窗口的窗口位置信息中确定所述主窗口的基准点坐标;
确定所述次窗口的窗口位置信息与所述主窗口的基准点坐标之间的差值;
根据所述差值,确定所述次图像在所述中间图像上的相对位置信息。
14.根据权利要求12所述的装置,其中,若所述次窗口的数量为至少两个,则所述窗口图像确定子单元具体用于:
根据至少两个次窗口的窗口启动时间,确定至少两个次窗口对应次图像的层叠顺序;
根据所述层叠顺序,以及至少两个次图像在所述中间图像上的相对位置信息,将至少两个次图像叠加至所述中间图像上,得到所述目标应用的窗口图像。
15.根据权利要求12所述的装置,其中,若所述次窗口的数量为至少两个,则所述窗口图像确定子单元还具体用于:
根据设定窗口叠加数值和至少两个次窗口的窗口启动时间,从至少两个次窗口中选择目标窗口;
根据所述目标窗口对应的次图像在所述中间图像上的相对位置信息,将所述次图像叠加至所述中间图像上,得到所述目标应用的应用窗口图像。
16.根据权利要求9所述的装置,其中,所述窗口图像获取模块具体用于:
根据所述已启动窗口的窗口信息,获取所述目标应用的初始图像;
对所述初始图像进行缩放和/或旋转处理,得到所述目标应用的窗口图像。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的图像获取方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8中任一项所述的图像获取方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的图像获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210412595.6A CN114820882B (zh) | 2022-04-19 | 2022-04-19 | 一种图像获取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210412595.6A CN114820882B (zh) | 2022-04-19 | 2022-04-19 | 一种图像获取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114820882A true CN114820882A (zh) | 2022-07-29 |
CN114820882B CN114820882B (zh) | 2024-09-17 |
Family
ID=82504842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210412595.6A Active CN114820882B (zh) | 2022-04-19 | 2022-04-19 | 一种图像获取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114820882B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6392672B1 (en) * | 1999-09-17 | 2002-05-21 | Conexant Systems, Inc. | Adding method for ordered sorting of a group of windows on a display |
US20150121302A1 (en) * | 2013-10-28 | 2015-04-30 | Lenovo (Beijing) Limited | Information processing methods and electronic devices |
CN107071331A (zh) * | 2017-03-08 | 2017-08-18 | 苏睿 | 图像显示方法、装置和系统、存储介质及处理器 |
US20180033172A1 (en) * | 2016-07-26 | 2018-02-01 | Hisense Electric Co., Ltd. | Method for generating screenshot image on television terminal and associated television |
CN110213265A (zh) * | 2019-05-29 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 图像获取方法、装置、服务器及存储介质 |
CN111459381A (zh) * | 2020-03-30 | 2020-07-28 | 维沃移动通信有限公司 | 信息展示方法、电子设备及存储介质 |
US20210089334A1 (en) * | 2019-09-20 | 2021-03-25 | Samsung Electronics Co., Ltd. | Electronic device and screen capturing method thereof |
WO2021227770A1 (zh) * | 2020-05-14 | 2021-11-18 | 华为技术有限公司 | 应用窗口显示方法和电子设备 |
CN114253450A (zh) * | 2021-12-09 | 2022-03-29 | 北京鸿合爱学教育科技有限公司 | 截屏方法、装置、电子设备、及计算机存储介质 |
-
2022
- 2022-04-19 CN CN202210412595.6A patent/CN114820882B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6392672B1 (en) * | 1999-09-17 | 2002-05-21 | Conexant Systems, Inc. | Adding method for ordered sorting of a group of windows on a display |
US20150121302A1 (en) * | 2013-10-28 | 2015-04-30 | Lenovo (Beijing) Limited | Information processing methods and electronic devices |
US20180033172A1 (en) * | 2016-07-26 | 2018-02-01 | Hisense Electric Co., Ltd. | Method for generating screenshot image on television terminal and associated television |
CN107071331A (zh) * | 2017-03-08 | 2017-08-18 | 苏睿 | 图像显示方法、装置和系统、存储介质及处理器 |
CN110213265A (zh) * | 2019-05-29 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 图像获取方法、装置、服务器及存储介质 |
US20210089334A1 (en) * | 2019-09-20 | 2021-03-25 | Samsung Electronics Co., Ltd. | Electronic device and screen capturing method thereof |
CN111459381A (zh) * | 2020-03-30 | 2020-07-28 | 维沃移动通信有限公司 | 信息展示方法、电子设备及存储介质 |
WO2021227770A1 (zh) * | 2020-05-14 | 2021-11-18 | 华为技术有限公司 | 应用窗口显示方法和电子设备 |
CN114253450A (zh) * | 2021-12-09 | 2022-03-29 | 北京鸿合爱学教育科技有限公司 | 截屏方法、装置、电子设备、及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114820882B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3852008A2 (en) | Image detection method and apparatus, device, storage medium and computer program product | |
CN114550177A (zh) | 图像处理的方法、文本识别方法及装置 | |
CN114120253A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN113780098A (zh) | 文字识别方法、装置、电子设备以及存储介质 | |
CN113378958A (zh) | 自动标注方法、装置、设备、存储介质及计算机程序产品 | |
CN113361468A (zh) | 一种业务质检方法、装置、设备及存储介质 | |
CN113407850A (zh) | 一种虚拟形象的确定和获取方法、装置以及电子设备 | |
CN108648140A (zh) | 图像拼接方法、系统、设备及存储介质 | |
CN113205041A (zh) | 结构化信息提取方法、装置、设备和存储介质 | |
CN112580666A (zh) | 图像特征的提取方法、训练方法、装置、电子设备及介质 | |
CN113359995A (zh) | 人机交互方法、装置、设备以及存储介质 | |
CN113269280B (zh) | 文本检测方法、装置、电子设备及计算机可读存储介质 | |
CN114445682A (zh) | 训练模型的方法、装置、电子设备、存储介质及产品 | |
CN113327194A (zh) | 图像风格迁移方法、装置、设备和存储介质 | |
JP7343637B2 (ja) | データ処理方法、装置、電子機器及び記憶媒体 | |
US20240013364A1 (en) | Image-based vehicle damage assessment method, apparatus and storage medium | |
CN114820882B (zh) | 一种图像获取方法、装置、设备及存储介质 | |
CN113781653B (zh) | 对象模型生成方法、装置、电子设备及存储介质 | |
CN113190150B (zh) | 覆盖物的展示方法、设备和存储介质 | |
CN114093006A (zh) | 活体人脸检测模型的训练方法、装置、设备以及存储介质 | |
CN112817463A (zh) | 输入法获取音频数据的方法、设备和存储介质 | |
CN113591847B (zh) | 一种车辆定位方法、装置、电子设备及存储介质 | |
CN114268746B (zh) | 一种视频生成方法、装置、设备及存储介质 | |
CN114549697B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN114842122B (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 |