基于虚拟摄像头的图像处理方法、装置、存储介质及电子设备制造方法及图纸

技术编号:28463020 阅读:13 留言:0更新日期:2021-05-15 21:28
本发明专利技术公开了一种基于虚拟摄像头的图像处理方法,所述方法包括步骤:获取图像数据源;对所述图像数据源进行编辑处理得到至少一个目标图像数据,按照预设对应关系将所述目标图像数据分发至至少一个虚拟摄像头的输出目标中,该输出目标为可存储并输出图像数据的组件,以使至少一个数据需求主体对所述目标图像数据进行调用预览,其中,所述数据需求主体包括单个应用本身的其他窗口和/或第三方应用;本发明专利技术所述技术方案能够满足不同第三方应用同时定制不同图像内容的需求,并同时分发不同的图像内容到不同的第三方应用。的图像内容到不同的第三方应用。的图像内容到不同的第三方应用。

【技术实现步骤摘要】
基于虚拟摄像头的图像处理方法、装置、存储介质及电子设备


[0001]本专利技术属于图像处理
,具体涉及一种基于虚拟摄像头的图像处理方法、装置、存储介质及电子设备。

技术介绍

[0002]移动终端上一般使用摄像头的流程为:
[0003]调用摄像头open接口,建立与底层摄像头驱动的连接。底层摄像头实例包括前置摄像头、后置摄像头、USB摄像头等,也称真实摄像头。
[0004]设置真实摄像头的预览参数,并将预览图像绑定到Android设备的一个显示窗口上。所述预览参数包括预览图像的宽高、帧率等,所述显示窗口称为Surface。
[0005]调用摄像头的start preview接口,通知底层摄像头驱动开始输出视频图像流,即开始预览,摄像头的图像在移动终端的屏幕上显示。预览结束后关闭摄像头,并释放底层驱动对象。
[0006]通常情况下,应用在使用摄像头时,一次只能获取一个摄像头实例,预览一个摄像头的数据流(及图像数据内容),如要切换摄像头则需要关闭前一个打开下一个,且多个应用无法同时使用摄像头,同一时间只能有一个应用使用摄像头服务。
[0007]公开号为CN 108845861 A的中国专利技术专利,公开了一种虚拟摄像头的处理方法及装置,通过反射技术勾住了摄像头上层的一些接口的方式,生成虚拟摄像头,实现了对图像数据的预览,扩展了图像数据的来源,使得电子设备的图像数据来源不再仅依靠硬件摄像头提供。然而,其未在源码层面做出修改,且通过反射技术勾住摄像头上层接口的方式有很大的局限性,虚拟摄像头只能在单个应用内部使用,不能实现跨进程,即不能让抖音等第三方应用也能使用虚拟摄像头。此外,可勾住的接口有限,不能应对surface预览的情况。
[0008]此外,在现有技术中,若在同一应用中同时编辑处理多个图像数据源,则会降低应用响应速度,且对增加移动终端处理器负荷,增加发热量;当不同的第三方应用,需要预览同一图像数据源不同编辑效果时,现有技术仅能通过对同一图像数据源多次进行编辑处理操作,编辑处理效率低。

技术实现思路

[0009]本专利技术的目的在于提供一种能够实现将图像数据源的定制化编辑处理和输出预览至至少一个第三方应用的基于虚拟摄像头的图像处理方法、装置、存储介质及电子设备。具体通过以下技术方案实现:
[0010]方案1,一种基于虚拟摄像头的图像处理方法,所述方法包括步骤:
[0011]获取图像数据源;
[0012]对所述图像数据源进行编辑处理得到至少一个目标图像数据;
[0013]按照预设对应关系将所述目标图像数据分发至至少一个虚拟摄像头的输出目标中,该输出目标为可存储并输出图像数据的组件,以使至少一个数据需求主体对所述目标
图像数据进行调用预览;
[0014]其中,所述数据需求主体包括单个应用本身的其他窗口和/或第三方应用。
[0015]方案2,基于方案1,所述对所述图像数据源进行编辑处理得到至少一个目标图像数据,包括:
[0016]对所述图像数据源的单个编辑处理过程进行多节点输出,得到至少一个目标图像数据;
[0017]或者,对图像数据源执行多个编辑处理过程,得到至少一个目标图像数据。
[0018]方案3,基于方案2,所述对所述图像数据源的单个编辑处理过程进行多节点输出,得到至少一个目标图像数据,包括:
[0019]确定每一节点的节点路径;
[0020]根据每一节点的节点路径构成单个编辑处理过程的有向无环图;
[0021]将所述图像数据源按照所述有向无环图进行编辑处理得到至少一个目标图像数据。
[0022]具体的,本方案中,所述编辑处理过程可以是由多个节点,通过有向无环图的方式组合而成,每个节点为一个pass,通过绑定一个fbo保存节点处理结果并输出,fbo保存的节点处理结果输出给输出目标或输出给下一个或多个节点作为输入,当fbo保存的节点结果输出给输出目标时,输出目标可作为新的节点,输入到有向无环图中作为下一个或多个节点作为输入,在有向无环图中不同路径的多个节点处理得到多个节点处理结果,通过多个fbo保存,保存的多个节点处理结果分别对应输出给多个输出目标。
[0023]方案4,基于方案1,在获取图像数据源之后,所述方法还包括:
[0024]若检测到交互界面发生指示编辑操作,通过Open GL接口技术生成编辑指令;
[0025]所述对所述图像数据源进行编辑处理得到至少一个目标图像数据,包括:
[0026]按照所述编辑指令对所述图像数据源进行编辑处理得到至少一个目标图像数据。
[0027]方案5,基于方案1,所述按照预设对应关系将所述目标图像数据分发至至少一个虚拟摄像头的输出目标中,包括:
[0028]根据预设对应关系确定与所述目标图像数据对应的输出目标;
[0029]通过可跨进程传输数据的缓存队列将所述目标图像数据分发至至少一个虚拟摄像头的输出目标中。
[0030]具体的,所述虚拟摄像头将所述目标图像数据发送给至少一个数据需求主体进行图像预览,包括:单个虚拟摄像头将多个相同或不同的目标图像数据发送给一个数据需求主体进行图像预览;或者单个虚拟摄像头将多个相同或不同的目标图像数据发送给多个数据需求主体进行图像预览;或者多个虚拟摄像头将多个相同或不同的目标图像数据发送给一个数据需求主体进行图像预览;或者多个虚拟摄像头将多个相同或不同的目标图像数据发送给多个数据需求主体进行图像预览。
[0031]其中,单个虚拟摄像头将多个相同或不同的目标图像数据发送给一个数据需求主体进行图像预览,比如:图像数据源可以为视频源和LOGO图片,编辑处理后成为多个相同或不同的带LOGO的视频,分别发送给一个第三方应用或单个应用的多个显示窗口进行图像预览;
[0032]其中,单个虚拟摄像头将多个相同或不同的目标图像数据发送给多个数据需求主
体进行图像预览,比如:将前述多个相同或不同的带LOGO的视频分别发送给抖音、快手等多个第三方应用进行图像预览;
[0033]其中,多个虚拟摄像头将多个相同或不同的目标图像数据发送给一个数据需求主体进行图像预览,比如:将前述多个相同或不同的带LOGO的视频同时发送给抖音、快手等一个第三方应用进行图像预览;
[0034]其中,多个虚拟摄像头将多个相同或不同的目标图像数据发送给多个数据需求主体进行图像预览,比如:将前述多个相同或不同的带LOGO的视频同时发送给抖音、快手等多个第三方应用进行图像预览。
[0035]方案6,基于方案1~5任一方案,所述编辑处理过程包括按顺序执行的视频内容组装、叠加内容组装、视频动画、视频特效、转场和渲染。
[0036]所述视频内容组装为将一个或多个视频画面排布到编辑位置,可以是前后叠加、左右排放、上下排放等,支持多个视频画面任意排放;
[0037]所述叠加内容为图片、文字等静态资源,也可以是gif这种动态图像,在视频上层存在一定的遮挡关系的元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于虚拟摄像头的图像处理方法,其特征在于,所述方法包括步骤:获取图像数据源;对所述图像数据源进行编辑处理得到至少一个目标图像数据;按照预设对应关系将所述目标图像数据分发至至少一个虚拟摄像头的输出目标中,该输出目标为可存储并输出图像数据的组件,以使至少一个数据需求主体对所述目标图像数据进行调用预览;其中,所述数据需求主体包括单个应用本身的其他窗口和/或第三方应用。2.如权利要求1所述的图像处理方法,其特征在于,所述对所述图像数据源进行编辑处理得到至少一个目标图像数据,包括:对所述图像数据源的单个编辑处理过程进行多节点输出,得到至少一个目标图像数据;或者,对图像数据源执行多个编辑处理过程,得到至少一个目标图像数据。3.如权利要求2所述的图像处理方法,其特征在于,所述对所述图像数据源的单个编辑处理过程进行多节点输出,得到至少一个目标图像数据,包括:确定每一节点的节点路径;根据每一节点的节点路径构成单个编辑处理过程的有向无环图;将所述图像数据源按照所述有向无环图进行编辑处理得到至少一个目标图像数据。4.如权利要求1所述的图像处理方法,其特征在于,在获取图像数据源之后,所述方法还包括:若检测到交互界面发生指示编辑操作,通过Open GL接口技术生成编辑指令;所述对所述图像数据源进行编辑处理得到至少一个目标图像数据,包括:按照所述编辑指令对所述图像数据源进行编辑处理得到至少一个目标图像数据。5.如权利要求1所述的图像处理方法,其特征在于,所述按照预设对应关系将所述目标图像...

【专利技术属性】
技术研发人员:程文波张林葛天杰王康茂孟环宇
申请(专利权)人:杭州星犀科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1