一种车载摄像头的控制方法和系统与流程

文档序号:17727853发布日期:2019-05-22 02:38阅读:200来源:国知局
一种车载摄像头的控制方法和系统与流程

本发明涉及汽车辅助系统领域,尤其是一种车载摄像头的控制方法和系统。



背景技术:

在传统的汽车中,一般没有配备车载摄像头。后来随着技术的发展,如行车记录技术和倒车辅助技术的诞生,汽车生产厂商才开始在汽车上安装车载摄像头。而这些为了实现行车记录和倒车辅助功能的摄像头,其拍摄的角度在安装时已经确定了。

随着智能互联网汽车的发展,汽车厂商为了更好的提升用户视觉体验,会在汽车的车身各处安装多个摄像头,并将摄像头的实时画面回传到车载大屏上,以便于用户通过不同的摄像头来观察车外环境。在目前的技术方案中,这些摄像头可能会设有存储装置,用于存储摄像头拍摄的内容,但是其存储的内容是不受用户控制的,只能一直录制,相当于用户无法指定需要存储的片段或者照片。

也就是说,在现有的技术方案中,用户并不能控制车载摄像头从某个角度进行拍照或者录像。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种车载摄像头的控制方法和系统,以便于用户控制车载摄像头进行角度调整和拍摄。

本发明所采取的第一种技术方案是:

一种车载摄像头的控制方法,包括以下步骤:

接收用户的操作指令;

根据所述操作指令得到控制对象和控制参数;

根据控制对象和控制参数向服务器发送控制请求,使服务器根据所述控制请求向车载终端下发控制指令,以使车载终端控制车载摄像头旋转和/或拍摄。

进一步,所述服务器根据所述控制请求向车载终端下发控制指令,其具体为:

服务器根据控制请求校验用户权限,然后根据所述控制请求和用户权限向车载终端发送控制指令。

进一步,所述服务器、客户端和车载终端之间均通过mqtt协议通信。

进一步,所述接收用户的操作指令,其具体包括:

显示第一操作组件;

获取用户在第一操作组件所处区域的操作指令作为第一操作指令;

根据第一操作指令,显示第二操作组件;

获取用户在第二操作组件所处区域的操作指令作为第二操作指令;

所述根据所述操作指令得到控制对象和控制参数,其具体包括:

根据第一操作指令得到控制对象;

根据第二操作指令得到控制参数。

进一步,所述根据第二操作指令得到控制参数,其具体包括:

根据第二操作指令,得到触摸轨迹;

根据触摸轨迹,得到控制对象的旋转参数。

进一步,所述根据触摸轨迹,得到控制对象的旋转参数,其具体包括:

根据触摸轨迹的起点和终点的坐标确定控制对象的旋转角度和旋转方向。

进一步,还包括以下步骤:

从服务器获取所述控制对象当前的状态信息;

根据所述控制对象当前的状态信息更新第二操作组件的状态。

进一步,还包括以下步骤:

接收服务器返回的车载摄像头拍摄的照片或者录像的存储地址;

根据所述照片的存储地址获取所述照片或者录像。

本发明所采取的第二种技术方案是:

一种车载摄像头的控制系统,包括:

客户端,用于接收用户的操作指令,根据所述操作指令得到控制对象和控制参数,以及根据控制对象和控制参数发送控制请求;

服务器,用于接收客户端发送的控制请求,根据所述控制请求向车载终端发送控制指令;

车载终端,用于接收服务器发送的控制指令,并根据所述控制指令控制车载摄像头旋转和/或拍摄。

进一步,所述服务器、客户端和车载终端之间均通过mqtt协议通信。

本发明的有益效果是:本发明通过接收用户的操作指令,并根据用户的操作指令来确定用户所选择的控制对象和控制参数,然后根据控制对象和控制参数向服务器发出控制请求,使得用户可以便捷地选择车载摄像头进行操作,以实现控制车载摄像头的旋转和拍摄。

附图说明

图1为本发明一种具体实施例的车载摄像头的控制方法;

图2为本发明一种具体实施例中用户通过车载摄像头的控制方法拍摄照片的流程图;

图3为本发明一种具体实施例中第一种交互界面的示意图;

图4为本发明一种具体实施例中第二种交互界面的示意图;

图5为本发明一种具体实施例中第三种交互界面的示意图;

图6为本发明一种具体实施例的车载摄像头的控制系统的模块框图。

具体实施方式

下面结合说明书附图和具体的实施例对本发明进行进一步的说明。

参照图1,本实施例公开了一种车载摄像头的控制方法,本实施例应用在车载摄像头控制系统的app客户端中,所述客户端可以安装在手机或者平板等硬件上运行,本实施例包括以下步骤:

s101、接收用户的操作指令。

在本步骤中,通过交互界面接收用户的操作指令,其中,交互界面中包括若干个按钮或者菜单,用户可以通过这些按钮或者菜单,选取需要控制的车载摄像头,然后交互界面会显示该车载摄像头的控制项,用户可以针对任一控制项执行操作、输入控制参数或者选取控制参数。

例如,用户所控制的汽车上安装有前摄像头、后摄像头和360°的车顶摄像头。此时,交互界面上提供三个选择按钮,如果用户通过交互界面上的选择按钮选择控制对象为车顶摄像头,则交互界面会弹出车顶摄像头的控制项,控制项可以包括旋转、升降、开关和拍照等功能项。用户可以根据需要,选择其中一个控制项。例如,用户选择了旋转,交互界面会显示设置车顶摄像头旋转的操作组件,该操作组件可能是一个输入框、一个转盘或者是一个选项表。

在一些实施例中,也可以同时在交互界面中显示多个车载摄像头的控制项,即用户在对某个车载摄像头进行控制时,只需要直接调整相应车载摄像头的控制项参数即可。例如,在交互界面中直接显示拍照的按钮,或者直接显示某个车载摄像头的某个控制项的操作组件。

接收用户的操作指令,以根据相应指令对车载摄像头执行相应操作。

s102、根据所述操作指令得到控制对象和控制参数。

本步骤根据交互界面的设计逻辑以及操作指令,可以确定用户所需要控制的车载摄像头以及用户针对该车载摄像头的控制参数。

其中,用户选取的控制对象,可以由代码或者数值表示。例如,可以以0x01表示前摄像头、0x02表示后摄像头、0x03表示车顶摄像头。当然,如果用户有多辆车时,也需要添加车辆的识别码以确定控制对象。

所述控制参数可以由控制项的代号和具体的调整参数所构成。

假定,用0x11表示旋转,0x12表示升降,0x13表示拍摄。那么在控制车载摄像头顺时针旋转30°时,控制参数可以表示为:“0x11”+“+30°”。

在控制车载摄像头升高30mm时,该控制参数可以以“0x12”+“+30mm”表示。

在控制车载摄像头降低30mm时,该控制参数可以以“0x12”+“-30mm”表示。

s103、根据控制对象和控制参数向服务器发送控制请求,使服务器根据所述控制请求向车载终端下发控制指令,以使车载终端控制车载摄像头旋转和/或拍摄。

其中,服务器是指远程部署的计算器,其为客户端提供通信、数据存储及处理的服务。车载终端是指汽车上用于控制车载摄像头的控制器,其能够控制一个或多个车载摄像头进行旋转、开关、升降和拍摄等操作。所述服务器通过互联网或者物联网等组网方式与客户端以及车载终端进行远程连接。

在向服务器发送控制请求时,需要在控制请求中添加具体的控制对象和控制参数。例如,控制车顶摄像头旋逆时针旋转30°时,控制请求中的内容所包含的内容为:“0x03”(车顶摄像头的代号)+“0x11”(旋转操作的代号)+“-30°”(旋转的方向和角度)。当然,在控制请求中也需要包含用户凭证,如uid或者accesstoken等用户凭证,以便服务器确认用户的操作权限。

服务器在接收到所述控制请求后,会对控制请求的内容进行解析,例如,先校验请求是否合法,即校验用户是否具备访问或者操作的权限。在确认用户具备相应的权限后,然后再解析出控制对象和控制参数,并根据控制参数对所述控制对象进行控制。所述控制包括控制车载摄像头旋转、升降和拍摄等。其中,拍摄包括拍照(或者是在实时图像中截图)以及录像。

本实施例通过接收用户的操作指令,并根据用户的操作指令来确定用户所选择的控制对象和控制参数,然后根据控制对象和控制参数向服务器发出控制请求,使得用户可以便捷地选择车载摄像头进行操作,以实现控制车载摄像头的旋转和拍摄。同时本方案通过服务器对车载摄像头进行控制,可以让用户身在家中灵活地控制多台汽车的多个摄像头。

参照图2,本实施例以用户进行照片拍摄操作进行说明,在本实施例中,车载摄像头的控制系统包括客户端、服务器和车载终端,用户进行拍摄的流程包括以下步骤:

s201、用户在客户端选取控制对象和按下拍照按钮。

s202、客户端根据用户的操作指令触发控制请求。

s203、服务器校验客户端的控制请求的合法性。

s204、服务器向车载终端传递控制请求。

s205、车载终端根据控制请求,触发车载摄像头拍摄。

s206、车载终端将车载摄像头拍摄的照片上传至服务器。

s207、服务器通向客户端发送照片的url。

s208、客户端通过url从服务器下载照片。

s209、服务器返回所述照片。

作为优选的实施例,所述客户端、服务器和车载终端之间通过mqtt协议通信,所述mqtt协议是一种即时通信协议,其能够实现即时的推送功能,能够保证操作的实时性。

作为优选的实施例,所述步骤s101,其具体包括:

s1011、显示第一操作组件;

s1012、获取用户在第一操作组件所处区域的操作指令作为第一操作指令。

在本实施例中,第一操作组件包括车载摄像头的选择按钮或者选择菜单等虚拟组件。用户可以通过对第一操作组件所处的区域进行触摸操作,以选取控制对象,触摸操作包括单点、双击、拖拽、滑动或者画出设定轨迹等。

s1013、根据第一操作指令,显示第二操作组件。

在本实施例中,用户一旦选定其需要选择的车载摄像头后,交互界面会显示该控制对象的控制项或者某个控制项的操作组件。用户可以对第二操作组件进行操作,以设置控制对象的控制参数。

所述第二操作组件可以是一个参数的输入框、选项菜单或者其他形式的输入组件。

s1014、获取用户在第二操作组件所处区域的操作指令作为第二操作指令。

在本实施例中,当显示第二操作组件时,第一操作组件会被禁用或者被移除。

所述根据所述操作指令得到控制对象和控制参数,其具体为:

根据第一操作指令得到控制对象;根据第二操作指令得到控制参数。

参照图3,在本实施例中,交互界面包括由第一按钮301、第二按钮302和第三按钮303所组成的第一操作组件、显示车载摄像头拍摄图像的区域305以及拍照按钮306。其中,第一按钮301代表前摄像头,第二按钮302代表车顶摄像头,第三按钮303代表后摄像头。在本实施例中,用户第二按钮302后,选择了车顶摄像头,此时如图4所示,第一操作组件中的第一按钮301和第三按钮303会消失,取而代之的是第二操作组件304,第二操作组件304是一个圆盘,在第二操作组件304的圆周上的点3041表示车顶摄像头当前的指向;扇形3042表示车顶摄像头当前的拍摄范围。在图4的交互界面中点击第二按钮302,可以返回图3中的交互界面。第二操作组件304可以采用通过定义一个view类来实现,该view类支持手势控制,可以在操作界面中接收点击和手势等操作。在本实施例中,用户可以通过拖拽点3041来输入车顶摄像头的旋转角度。客户端只要根据当前车顶摄像头的角度相对于用户拖拽点3041后车顶摄像头的角度的差即可得到本次旋转操作的旋转方向和旋转角度。或者,用户也可以通过在第二操作组件所在区域上画手势的方式来进行控制。优选地,所述第二操作组件304可以采用安卓系统自带的canvas/coregraphic类进行绘制,采用canvas/coregraphic类绘制的第二操作组件,其动画流畅,占用系统资源少,能为用户提供很好的视觉效果。

在一些实施例中,客户端可以根据用户画出的手势轨迹的方向或者用户拖拽的方向来确定车顶摄像头的旋转方向,即如果用户的手势轨迹或者拖拽轨迹是一个逆时针的圈,则确定摄像头的旋转方向为逆时针,如果用户的手势轨迹或者拖拽轨迹是一个顺时针的圈,则确定摄像头的旋转方向为顺时针。在另一些实施例中,也可以只根据用户手势轨迹或者拖拽的起点和终点的相对位置来确定旋转的方向。例如终点在起点的左侧时,车顶摄像头以逆时针旋转,终点在起点的右侧时,车顶摄像头以顺时针旋转。

本实施例通过二级菜单的交互方式,用户在使用时只需要点击需要选择的车载摄像头对应的按钮,然后输入控制对象的控制参数即可实现对车载摄像头的控制。使得用户可以更加直观、便捷地对车载摄像头进行控制。

作为优选的实施例,所述根据第二操作指令得到控制参数,其具体包括:

根据第二操作指令,得到触摸轨迹;

根据触摸轨迹,得到控制对象的旋转参数。

在本实施例中,可以根据触摸轨迹的起点、终点以及参考点所构成的三角形来确定旋转的角度以及方向。

在其他一些实施例中,可以根据用户的触摸轨迹的方向来确定控制对象的旋转方向。例如,如果轨迹是从左到右的,表示顺时针旋转,如果轨迹是从右到左的,表示逆时针旋转;然后在根据轨迹的长度来确定旋转的角度,例如100个像素点的长度代表1°,200个像素点的长度代表2°。

在其他一些实施例中,可以根据用户的触摸轨迹的方向来确定控制对象的旋转方向,然后再根据用户触摸轨迹的终点来确定用户最终需要控制对象旋转到的角度,并根据控制对象最终旋转到的角度和当前所处于的角度来得到控制对象需要旋转的角度。例如,在一个转盘中,直接将刻度拖拽到30°。

本实施例根据触摸轨迹来得到控制对象的旋转参数,交互体验感好,使得用户易于学习如何执行控制且易于用户控制。

作为优选的实施例,所述根据触摸轨迹,得到控制对象的旋转参数,其具体包括:

根据触摸轨迹的起点和终点的坐标确定控制对象的旋转角度和旋转方向。

在本实施例中,根据触摸轨迹的起点、终点以及参考点的坐标,通过三角几何定理计算起点、参考点和终点所构成的角的角度,然后以该计算得到的角度作为控制对象的旋转角度。所述参考点一般选取第二操作组件的中心作为参考点。

本实施例中,以(x1,y1)表示起点坐标,(x2,y2)表示终点坐标,(x0,y0)参考点坐标。

以起点坐标(x1,y1)减去参考点坐标(x0,y0),得到第一向量(x1-x0,y1-y0);以终点坐标(x2,y2)减去参考点坐标(x0,y0)得到第二向量(x2-x0,y2-y0);然后根据向量的夹角公式,得到第一向量和第二向量的夹角,作为控制对象的旋转角度。

在本实施例中,通过起点和终点所构成的向量来决定控制对象的旋转方向。如果向量起点-终点向左,则控制对象逆时针旋转,如果向量起点-终点向右,则控制对象顺时针旋转。

本实施例根据触摸轨迹的起点和终点的坐标确定控制对象的旋转角度和旋转方向,本实施例的运算量低,可以减轻客户端对系统资源的需求;同时,本实施例由于仅考虑起点坐标和终点坐标,因此计算得到的旋转角度必然是小于180°的角,即便用户所画出的触摸轨迹可能超过180°,但是实际计算得到的旋转角度为360°与用户的触摸轨迹所表达的角度之差。因此,本实施例能够有效地减少车载摄像头运动的路程,一方面可以提升车载摄像头的调整的速度,另一方面可以减少车载摄像头云台的损耗,延长云台的寿命。

作为优选的实施例,还包括以下步骤:

从服务器获取所述控制对象当前的状态信息;

根据所述控制对象当前的状态信息更新第二操作组件的状态。

在本实施例中,所述状态信息包括当前摄像头的高度、角度和开关状态等信息。客户端会在交互界面中,根据从服务器获取的控制对象当前的状态信息来更新第二操作组件的状态,当然,车载摄像头当前的状态信息,需要经由车载终端向服务器上传。

如图4所示,点3041的位置是根据控制对象当前的状态信息来确定的。当然,第二操作组件的状态根据其控制项的不同,可能会有不同的表现形式。如图5所示,图中示出了用于调整摄像头高度的第二操作组件的表现形式,其包括刻度条501和拖拽按钮502,所述拖拽按钮502所处的位置与当前控制对象的摄像头的高度有关。

在每次操作后,客户端均会从服务器获取控制对象的状态信息。控制对象的状态信息可以是服务器主动向客户端同步的,也可以是客户端主动向服务器请求获取的。

本实施例使得用户可以直观地掌握当前控制对象的状态,以便用户对控制对象进行操作。

作为优选的实施例,还包括以下步骤:

接收服务器返回的车载摄像头拍摄的照片或者录像的存储地址;

根据所述照片的存储地址获取所述照片或者录像。

服务器在车载摄像头拍摄照片或者录像以后会对其进行存储,然后将照片或者录像的存储地址发送到客户端,以便减少客户端实时的网络传输量,用户在需要查看照片或者录像时再通过存储地址从服务器下载照片或者录像,本实施例有助于优化网络资源分配。

其中,车载终端在获取车载摄像头拍摄的照片或者录像后,会将照片或者录像上传到服务器,并由服务器存储,服务器将存储照片或者录像的url发送到客户端。

参照图6,本实施例公开了一种车载摄像头的控制系统,包括客户端、服务器和车载终端。

客户端,用于接收用户的操作指令,根据所述操作指令得到控制对象和控制参数,以及根据控制对象和控制参数发送控制请求;

服务器,用于接收客户端发送的控制请求,根据控制请求校验用户权限,然后根据所述控制请求和用户权限向车载终端发送控制指令;

在本实施例中,控制请求包括用户凭证、控制对象和控制参数。用户凭证可以是用户的uid。控制对象包括所要控制的车辆的具体摄像头的代码,控制参数为控制类型和控制的数据。当然,为了保证车辆的安全,服务器需要求控制请求进行权限校验,否则,任何人都可以控制车辆的车载摄像头,这是不合理且不安全的。在本实施例中,只有通过权限校验的控制请求才会触发服务器向车载终端发送控制指令。

车载终端,用于接收服务器发送的控制指令,并根据所述控制指令控制车载摄像头旋转和/或拍摄;以及向服务器上传当前车载摄像头的状态信息,和车载摄像头所拍摄的照片或者录像。

对于车载摄像头的状态信息,车载终端可以定期向服务器同步,或者在服务器下发控制指令后上传车载摄像头的状态信息。所述照片或者录像,均在车载摄像头拍摄完成后上传至服务器。

如图1所述的控制方法可以应用在本实施例中。

作为优选的实施例,所述服务器还用于存储车载摄像头所拍摄的照片或者录像,并向客户端发送所述照片或者录像的存储地址。

服务器在接收到由车载终端上传的车载摄像头拍摄照片或者录像以后会对其进行存储,然后将照片或者录像的存储地址发送到客户端,以便减少客户端实时的网络传输量,用户在需要查看照片或者录像时再通过存储地址从服务器下载照片或者录像,本实施例有助于优化网络资源分配。

作为优选的实施例,所述服务器、客户端和车载终端之间均通过mqtt协议通信。所述mqtt协议是一种即时通信协议,其能够实现即时的推送功能,能够保证操作的实时性。

对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1