一种基于UVC协议的拍照方法及装置与流程

未命名 08-15 阅读:144 评论:0

一种基于uvc协议的拍照方法及装置
技术领域
1.本技术涉及计算机技术领域,具体涉及一种基于uvc协议的拍照方法及装置。


背景技术:

2.目前,在废品回收领域,一些回收站点需要通过应用程序在回收过程中进行拍照留底。根据实际需求分为两种情况,第一种情况下,一些站点只需对售卖物品进行拍照留底,因此,只需要通过单个摄像头就能完成;在第二种情况下,一些站点则是需要同时对客户以及售卖物品进行拍照留底,在这种情况下,需要通过两个摄像头,同时对客户以及售卖物品进行拍照留底。
3.而现有技术中,系统技术栈使用的uni-app框架默认组件不支持双摄像的拍摄,需要通过购买市场上的wifi摄像头以实现连接,但是这种方式由于连接方案配置麻烦,且购买wifi摄像头的价格高昂,实施起来较为繁琐且成本高,不便于推广和使用。


技术实现要素:

4.本技术旨在提供一种基于uvc协议的拍照方法及装置,旨在解决现有技术中基于uvc协议的拍照方法不便于使用的问题。
5.一方面,本技术提供一种基于uvc协议的拍照方法,所述基于uvc协议的拍照方法包括:
6.获取设备参数,并基于设备参数确定当前接入摄像头的数量;
7.基于当前接入摄像头的数量,选择对应的拍照模式;
8.依据对应的拍照模式,连接获取到的摄像头;
9.通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;
10.基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;
11.将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。
12.可选地,所述获取设备参数,并基于设备参数确定当前接入摄像头的数量,包括:
13.检测支持uvc协议的所有usb摄像头;
14.检测通过usb接入的设备,获取所有设备列表;
15.通过设备的类型获取所有的摄像头;
16.通过过滤获取支持uvc协议的usb摄像头列表;
17.读取设备参数,所述设备参数为usb设备描述符;
18.依据usb设备描述符中bdeviceclass及bdevicesubclass参数值分别为239、2的设备,过滤出接入的usb摄像头数量,得到usb摄像头数量参数,即1个或2个。
19.可选地,所述基于当前接入摄像头的数量,选择对应的拍照模式,包括:
20.所述拍照模式包括单摄像头拍照模式和双摄像头拍照模式;
21.判断获得的usb摄像头数量参数,若为1个,则进入单摄像头拍照模式,若为2个,则进入双摄像头拍照模式。
22.可选地,所述依据对应的拍照模式,连接获取到的摄像头,还包括:
23.在连接失败时,利用重连功能模块重新对摄像头进行连接;
24.具体为:
25.关闭当前摄像头连接,销毁当前获取的摄像头对象,重新进行摄像头连接,并获取该摄像头对象属性。
26.可选地,所述通过连接的摄像头获取视频流数据,包括:
27.利用连接模块连接支持uvc协议的usb摄像头,通过检测模块进行摄像头流程后,为摄像头构建与app连接的通道,连接成功后可采集视频流数据。
28.可选地,所述并利用视频流数据实现摄像头画面的预览展示,包括:
29.利用显示模块显示连接模块采集到的视频流数据,在采集到摄像头的视频流数据后,将视频流数据传入视图容器surfaceview中,并通过绘图引擎gldrawer2d进行图层渲染到视图中,实现摄像头的预览。
30.可选地,所述基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片,包括:
31.对显示的摄像头图像或视图进行拍摄,并在需要的场景中调用拍摄功能模块对视图中的物体进行拍摄操作。
32.一方面,本技术提供一种基于uvc协议的拍照装置,所述基于uvc协议的拍照装置包括:
33.第一获取模块,用于获取设备参数,并基于设备参数确定当前接入摄像头的数量;
34.选择模块,用于基于当前接入摄像头的数量,选择对应的拍照模式;
35.连接模块,用于依据对应的拍照模式,连接获取到的摄像头;
36.第二获取模块,用于通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;
37.采集模块,用于基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;
38.发送模块,用于将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。
39.一方面,本技术还提供一种电子设备,所述电子设备包括:
40.一个或多个处理器;
41.存储器;以及
42.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的基于uvc协议的拍照方法。
43.一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项的基于uvc协议的拍照方法中的步骤。
44.本技术提供一种基于uvc协议的拍照方法,该基于uvc协议的拍照方法包括:获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频
流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。本技术提供了便捷的管理单双摄像头拍照的方案,只需要根据实际需求接入一个或者二个usb摄像头,便能自动识别连接使用,接入上方便快捷,解决了单、双摄像头同时接入困难的问题,利于推广使用。
附图说明
45.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术实施例所提供的基于uvc协议的拍照方法的场景示意图;
47.图2是本技术实施例提供的基于uvc协议的拍照方法的一个实施例流程示意图;
48.图3是本技术实施例中提供的基于uvc协议的拍照装置一个实施例结构示意图;
49.图4是本技术实施例中提供的电子设备的一个实施例结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
52.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
53.需要说明的是,本技术实施例方法由于是在电子设备中执行,各电子设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作
赘述。
54.为了便于叙述,首先对以下概念进行说明:
55.uvc:uvc全称为usb video class,即:usb视频类,是一种为usb视频捕获设备定义的协议标准。是微软与另外几家设备厂商联合推出的为usb视频捕获设备定义的协议标准,目前已成为usb org标准之一。
56.usb hub:指的是一种可以将一个usb接口扩展为多个,并可以使这些接口同时使用的装置。usb hub根据所属usb协议可分为usb2.0 hub、usb3.0 hub与usb3.1 hub。
57.本技术实施例提供一种基于uvc协议的拍照方法及装置,以下分别进行详细说明。
58.请参阅图1,图1为本技术实施例所提供的基于uvc协议的拍照系统的场景示意图,该基于uvc协议的拍照系统可以包括电子设备100,电子设备100中集成有基于uvc协议的拍照装置,如图1中的电子设备。
59.本技术实施例中,该电子设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的电子设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
60.本领域技术人员可以理解,图1中示出的应用环境,仅仅是本技术方案的一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的电子设备,例如图1中仅示出1个电子设备,可以理解的,该基于uvc协议的拍照系统还可以包括一个或多个其他服务器,具体此处不作限定。
61.另外,如图1所示,该基于uvc协议的拍照方法还可以包括存储器200,用于存储数据。
62.需要说明的是,图1所示的基于uvc协议的拍照系统的场景示意图仅仅是一个示例,本技术实施例描述的基于uvc协议的拍照系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着基于uvc协议的拍照系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
63.首先,本技术实施例中提供一种基于uvc协议的拍照方法,该基于uvc协议的拍照方法的执行主体为基于uvc协议的拍照装置,该基于uvc协议的拍照装置应用于电子设备,该基于uvc协议的拍照方法包括:获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。
64.参阅图2,图2是本技术实施例提供的基于uvc协议的拍照方法的一个实施例流程示意图。该基于uvc协议的拍照方法包括s110-160:
65.s110、获取设备参数,并基于设备参数确定当前接入摄像头的数量。
66.本实施例中,在获取设备参数之前,需要提供设备接入源,所述提供设备接入源包括:
67.提供设备接入源,用于接入多个usb摄像头,主要步骤包括:使用usb hub接入平板
设备,为设备提供接入多个支持uvc协议的usb摄像头的入口,并根据实际业务需求,接入单/双支持uvc协议的usb摄像头。
68.本实施例中,所述获取设备参数,并基于设备参数确定当前接入摄像头的数量,包括:
69.检测支持uvc协议的所有usb摄像头;
70.检测通过usb接入的设备,获取所有设备列表;
71.通过设备的类型获取所有的摄像头;
72.通过过滤获取支持uvc协议的usb摄像头列表;
73.读取设备参数,所述设备参数为usb设备描述符;
74.依据usb设备描述符中bdeviceclass及bdevicesubclass参数值分别为239、2的设备,过滤出接入的usb摄像头数量,得到usb摄像头数量参数,即1个或2个。
75.具体来说,所述获取设备参数,并基于设备参数确定当前接入摄像头的数量的主要步骤包括:加载跨平台前端应用uniapp框架,在所述uniapp框架中获取接入设备信息,判断usb接入的类型,在andriod6系统中,摄像头设备在设备描述符中bdeviceclass、bdevicesubclass参数值对应为239、2,通过获取系统读取到的设备描述符特征值,过滤出接入设备中属于摄像头的设备类型。
76.s120、基于当前接入摄像头的数量,选择对应的拍照模式。
77.在一个具体的实施例中,所述基于当前接入摄像头的数量,选择对应的拍照模式,包括:
78.所述拍照模式包括单摄像头拍照模式和双摄像头拍照模式;
79.判断获得的usb摄像头数量参数,若为1个,则进入单摄像头拍照模式,若为2个,则进入双摄像头拍照模式。
80.具体来说,所述基于当前接入摄像头的数量,选择对应的拍照模式,包括:通过比对对应的设备符合使用要求的摄像头个数,单个则进入单摄像头拍照模式,双个则进入双摄像头拍照模式。
81.一方面,进入单摄像头拍照模式的主要步骤包括:c、可回收物系统app在提供设备接入源后获取到单个usb设备源,通过uni-app框架的live-pusher组件开启摄像头拍摄,并通过快照功能提供拍摄功能模块。
82.另一方面,进入双摄像头拍照模式的主要步骤包括:d、可回收物系统app在提供设备接入源后获取到两个usb设备源,通过双摄像头驱动插件连接接入的两个支持uvc协议的usb摄像头,将摄像头分别对准不同的物体相对于的位置,app中显示两个摄像头拍摄的视频图像,并提供拍照功能模块。
83.另外,双摄像头驱动插件具有功能模块,该功能模块分为检测模块、连接模块、显示模块和拍摄模块。
84.检测模块用于检测支持uvc协议的usb摄像头,先通过检测通过usb接入的设备,获取所有设备列表,并通过设备的类型获取所有的摄像头,最后通过过滤获取支持uvc协议的usb摄像头列表。
85.连接模块用于连接支持uvc协议的usb摄像头,通过检测模块进行双摄像头流程后,为摄像头构建与app连接的通道,连接成功后可采集视频流数据。同时,当摄像头因插
拔、卡顿等原因导致画面黑屏或花屏等故障时可通过点击故障的画面进行重新连接,恢复画面正常。
86.显示模块用于显示连接模块采集到的视频流数据,当连接模块采集摄像头的视频流数据后,将数据传入视图容器surfaceview中,并通过绘图引擎gldrawer2d进行图层渲染到视图中,实现摄像头的预览。
87.拍摄模块用于对显示模块显示的摄像头图像进行拍摄,调用拍摄模块后会对当前的摄像头的视图进行拍摄,拍摄后采集的图片流用于后续的图片上传。
88.s130、依据对应的拍照模式,连接获取到的摄像头。
89.本实施例中,所述依据对应的拍照模式,连接获取到的摄像头,还包括:
90.在连接失败时,利用重连功能模块重新对摄像头进行连接;
91.具体为:
92.关闭当前摄像头连接,销毁当前获取的摄像头对象,重新进行摄像头连接,并获取该摄像头对象属性。
93.且该重连操作模块的触发要求包括:点击操作。
94.s140、通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示。
95.本实施例中,所述通过连接的摄像头获取视频流数据,包括:
96.利用连接模块连接支持uvc协议的usb摄像头,通过检测模块进行摄像头流程后,为摄像头构建与app连接的通道,连接成功后可采集视频流数据。同时,当摄像头因插拔、卡顿等原因导致画面黑屏或花屏等故障时可通过点击故障的画面进行重新连接,恢复画面正常。
97.本实施例中,所述并利用视频流数据实现摄像头画面的预览展示,包括:
98.利用显示模块显示连接模块采集到的视频流数据,在采集到摄像头的视频流数据后,将视频流数据传入视图容器surfaceview中,并通过绘图引擎gldrawer2d进行图层渲染到视图中,实现摄像头的预览。
99.s150、基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片。
100.本实施例中,所述基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片,包括:
101.对显示的摄像头图像或视图进行拍摄,并在需要的场景中调用拍摄功能模块对视图中的物体进行拍摄操作。
102.以及所述预览展示的具体步骤为:将识别到的usb摄像头进行连接后获取的摄像头数据流渲染到app中,进行摄像头实时画面的展示。
103.s160、将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。
104.具体来说,是将在拍照单元保存的图片流进行上传,发生至云服务器,云服务器将保存图片用于存底及以后的统一管理。
105.本方案中,接入方式更加便捷,全程可无感自动识别接入,无需进行其他的配置工作,且只需要使用支持uvc协议的usb设备,对硬件要求门槛低,利于推广使用。
106.为了更好实施本技术实施例中基于uvc协议的拍照方法,在基于uvc协议的拍照方法基础之上,本技术实施例中还提供一种基于uvc协议的拍照装置,如图3所示,图3是本技术实施例中提供的基于uvc协议的拍照装置一个实施例结构示意图,该基于uvc协议的拍照装置300包括:
107.第一获取模块301,用于获取设备参数,并基于设备参数确定当前接入摄像头的数量;
108.选择模块302,用于基于当前接入摄像头的数量,选择对应的拍照模式;
109.连接模块303,用于依据对应的拍照模式,连接获取到的摄像头;
110.第二获取模块304,用于通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;
111.采集模块305,用于基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;
112.发送模块306,用于将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。
113.可选地,所述获取设备参数,并基于设备参数确定当前接入摄像头的数量,包括:
114.检测支持uvc协议的所有usb摄像头;
115.检测通过usb接入的设备,获取所有设备列表;
116.通过设备的类型获取所有的摄像头;
117.通过过滤获取支持uvc协议的usb摄像头列表;
118.读取设备参数,所述设备参数为usb设备描述符;
119.依据usb设备描述符中bdeviceclass及bdevicesubclass参数值分别为239、2的设备,过滤出接入的usb摄像头数量,得到usb摄像头数量参数,即1个或2个。
120.可选地,所述基于当前接入摄像头的数量,选择对应的拍照模式,包括:
121.所述拍照模式包括单摄像头拍照模式和双摄像头拍照模式;
122.判断获得的usb摄像头数量参数,若为1个,则进入单摄像头拍照模式,若为2个,则进入双摄像头拍照模式。
123.可选地,所述依据对应的拍照模式,连接获取到的摄像头,还包括:
124.在连接失败时,利用重连功能模块重新对摄像头进行连接;
125.具体为:
126.关闭当前摄像头连接,销毁当前获取的摄像头对象,重新进行摄像头连接,并获取该摄像头对象属性。
127.可选地,所述通过连接的摄像头获取视频流数据,包括:
128.利用连接模块连接支持uvc协议的usb摄像头,通过检测模块进行摄像头流程后,为摄像头构建与app连接的通道,连接成功后可采集视频流数据。
129.可选地,所述并利用视频流数据实现摄像头画面的预览展示,包括:
130.利用显示模块显示连接模块采集到的视频流数据,在采集到摄像头的视频流数据后,将视频流数据传入视图容器surfaceview中,并通过绘图引擎gldrawer2d进行图层渲染到视图中,实现摄像头的预览。
131.可选地,所述基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采
集图片,包括:
132.对显示的摄像头图像或视图进行拍摄,并在需要的场景中调用拍摄功能模块对视图中的物体进行拍摄操作。
133.本技术实施例还提供一种电子设备,其集成了本技术实施例所提供的任一种基于uvc协议的拍照装置。如图4所示,其示出了本技术实施例所涉及的电子设备的结构示意图,具体来讲:
134.该电子设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
135.处理器501是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
136.存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
137.电子设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
138.该电子设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
139.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
140.获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务
器,利用云服务器对采集的图片进行留存并统一管理。本技术提供了便捷的管理单双摄像头拍照的方案,只需要根据实际需求接入一个或者二个usb摄像头,便能自动识别连接使用,接入上方便快捷,解决了单、双摄像头同时接入困难的问题,利于推广使用。
141.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
142.为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种基于uvc协议的拍照方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
143.获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。本技术提供了便捷的管理单双摄像头拍照的方案,只需要根据实际需求接入一个或者二个usb摄像头,便能自动识别连接使用,接入上方便快捷,解决了单、双摄像头同时接入困难的问题,利于推广使用。
144.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
145.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
146.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
147.以上对本技术实施例所提供的一种基于uvc协议的拍照方法及装置进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种基于uvc协议的拍照方法,其特征在于,所述基于uvc协议的拍照方法包括:获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。2.根据权利要求1所述的基于uvc协议的拍照方法,其特征在于,所述获取设备参数,并基于设备参数确定当前接入摄像头的数量,包括:检测支持uvc协议的所有usb摄像头;检测通过usb接入的设备,获取所有设备列表;通过设备的类型获取所有的摄像头;通过过滤获取支持uvc协议的usb摄像头列表;读取设备参数,所述设备参数为usb设备描述符;依据usb设备描述符中bdeviceclass及bdevicesubclass参数值分别为239、2的设备,过滤出接入的usb摄像头数量,得到usb摄像头数量参数,即1个或2个。3.根据权利要求2所述的基于uvc协议的拍照方法,其特征在于,所述基于当前接入摄像头的数量,选择对应的拍照模式,包括:所述拍照模式包括单摄像头拍照模式和双摄像头拍照模式;判断获得的usb摄像头数量参数,若为1个,则进入单摄像头拍照模式,若为2个,则进入双摄像头拍照模式。4.根据权利要求1所述的基于uvc协议的拍照方法,其特征在于,所述依据对应的拍照模式,连接获取到的摄像头,还包括:在连接失败时,利用重连功能模块重新对摄像头进行连接;具体为:关闭当前摄像头连接,销毁当前获取的摄像头对象,重新进行摄像头连接,并获取该摄像头对象属性。5.根据权利要求1所述的基于uvc协议的拍照方法,其特征在于,所述通过连接的摄像头获取视频流数据,包括:利用连接模块连接支持uvc协议的usb摄像头,通过检测模块进行摄像头流程后,为摄像头构建与app连接的通道,连接成功后可采集视频流数据。6.根据权利要求5所述的基于uvc协议的拍照方法,其特征在于,所述并利用视频流数据实现摄像头画面的预览展示,包括:利用显示模块显示连接模块采集到的视频流数据,在采集到摄像头的视频流数据后,将视频流数据传入视图容器surfaceview中,并通过绘图引擎gldrawer2d进行图层渲染到视图中,实现摄像头的预览。7.根据权利要求1所述的基于uvc协议的拍照方法,其特征在于,所述基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片,包括:对显示的摄像头图像或视图进行拍摄,并在需要的场景中调用拍摄功能模块对视图中
的物体进行拍摄操作。8.一种基于uvc协议的拍照装置,其特征在于,所述基于uvc协议的拍照装置包括:第一获取模块,用于获取设备参数,并基于设备参数确定当前接入摄像头的数量;选择模块,用于基于当前接入摄像头的数量,选择对应的拍照模式;连接模块,用于依据对应的拍照模式,连接获取到的摄像头;第二获取模块,用于通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;采集模块,用于基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;发送模块,用于将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7任一项所述的基于uvc协议的拍照方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的基于uvc协议的拍照方法中的步骤。

技术总结
本申请提供了一种基于UVC协议的拍照方法及装置,该基于UVC协议的拍照方法包括:获取设备参数,并基于设备参数确定当前接入摄像头的数量;基于当前接入摄像头的数量,选择对应的拍照模式;依据对应的拍照模式,连接获取到的摄像头;通过连接的摄像头获取视频流数据,并利用视频流数据实现摄像头画面的预览展示;基于摄像头画面的预览展示,对当前摄像头的视图进行拍摄,得到采集图片;将采集的图片发送至云服务器,利用云服务器对采集的图片进行留存并统一管理。本申请提供了便捷的管理单双摄像头拍照的方案,只需要根据实际需求接入一个或者二个USB摄像头,便能自动识别连接使用,解决了单、双摄像头同时接入困难的问题,利于推广使用。使用。使用。


技术研发人员:林吉团 刘煜
受保护的技术使用者:上海于万科技有限公司
技术研发日:2023.04.17
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐