CN110602385A - 照相机及其使用方法 - Google Patents
照相机及其使用方法 Download PDFInfo
- Publication number
- CN110602385A CN110602385A CN201910799969.2A CN201910799969A CN110602385A CN 110602385 A CN110602385 A CN 110602385A CN 201910799969 A CN201910799969 A CN 201910799969A CN 110602385 A CN110602385 A CN 110602385A
- Authority
- CN
- China
- Prior art keywords
- camera
- preview
- module
- event
- triggering
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
- H04N23/632—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Studio Devices (AREA)
Abstract
本发明适用于金融终端技术领域,公开了一种照相机及其使用方法,包括拍摄模块、预览模块和取消预览模块;拍摄模块,用于指定任意一个预设的摄像头进行拍摄,并在拍摄完成后触发拍摄完成事件,或在指定的摄像头故障时,触发硬件故障事件;预览模块,用于对任意一个预设的摄像头拍摄的照片或者视频进行预览,并在预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件;取消预览模块,用于取消正在进行的照片预览或者视频预览,并在成功取消预览后触发取消预览成功事件,或在正在进行的照片预览成功或视频预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件。本发明能够降低开发难度和实现难度。
Description
技术领域
本发明属于金融终端技术领域,尤其涉及一种照相机及其使用方法。
背景技术
照相机是金融终端需要用到的一类常见设备,用于拍摄自助服务区、客户人脸、出钞口等区域照片,这些照片可以作为交易取证的重要内容。
目前,金融终端所使用的照相机是基于面向对象的方法设计的,采用这种方法设计的照相机与其它设备进行通信和协作需要开发者编写流程引擎,通过流程引擎实现对每一个接口的调用,需要对每一个接口进行代码上的处理,增加了开发难度和实现难度。
发明内容
有鉴于此,本发明实施例提供了一种照相机及其使用方法,以解决现有技术中由于需要对每一个接口进行代码上的处理,增加了开发难度和实现难度的问题。
本发明实施例的第一方面提供了一种照相机,包括拍摄模块、预览模块和取消预览模块;
拍摄模块,用于指定任意一个预设的摄像头进行拍摄,并在拍摄完成后触发拍摄完成事件,或在指定的预设的摄像头故障时,触发硬件故障事件;
预览模块,用于对任意一个预设的摄像头拍摄的照片或者视频进行预览,并在预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件;
取消预览模块,用于取消正在进行的照片预览或者视频预览,并在成功取消预览后触发取消预览成功事件,或在正在进行的照片预览成功或视频预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件。
本发明实施例的第二方面提供了一种照相机的使用方法,应用于第一方面所述的照相机,照相机的使用方法包括:
若接收到拍摄指令,则调用拍摄模块,根据拍摄指令指定对应的摄像头进行拍摄,并在拍摄成功后,将拍摄的照片或者视频保存在该摄像头对应的存储区域,或者,在该摄像头故障时,记录该摄像头的故障信息;
若接收到预览指令,则调用预览模块,执行预览指令,并根据在预览过程中接收到的保存指令,保存正在预览的照片或视频,或者,根据在预览过程中接收到的删除指令,删除正在预览的照片或视频;
若接收到取消预览指令,则调用取消预览模块,取消正在进行的照片预览或者视频预览。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供的照相机包括拍摄模块、预览模块和取消预览模块;拍摄模块,用于指定任意一个预设的摄像头进行拍摄,并在拍摄完成后触发拍摄完成事件,或在指定的预设的摄像头故障时,触发硬件故障事件;预览模块,用于对任意一个预设的摄像头拍摄的照片或者视频进行预览,并在预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件;取消预览模块,用于取消正在进行的照片预览或者视频预览,并在成功取消预览后触发取消预览成功事件,或在正在进行的照片预览成功或视频预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件。本发明实施例提供的照相机的各个模块能够自动触发对应的事件,各个模块具有较好的通用性,能够让所有涉及到照相机设备的业务设计,具有统一的照相机设备访问和调用的接口,无需对每一个接口再进行代码上的处理,降低了开发难度和实现难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的照相机的结构示意图;
图2是本发明一实施例提供的照相机的使用方法的实现流程示意图;
图3是本发明另一实施例提供的照相机的使用方法的实现流程示意图;
图4是本发明一实施例提供的摄像头节点的实现流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明一实施例提供的照相机的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。如图1所示,照相机10可以包括拍摄模块11、预览模块12和取消预览模块13。
拍摄模块11,用于指定任意一个预设的摄像头进行拍摄,并在拍摄完成后触发拍摄完成事件,或在指定的预设的摄像头故障时,触发硬件故障事件;
预览模块12,用于对任意一个预设的摄像头拍摄的照片或者视频进行预览,并在预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件;
取消预览模块13,用于取消正在进行的照片预览或者视频预览,并在成功取消预览后触发取消预览成功事件,或在正在进行的照片预览成功或视频预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发硬件故障事件。
在本发明实施例中,照相机10具有属性、接口和事件三个组成部分,应用软件通过对照相机的属性、接口和事件的调用,实现相应的软件功能。其中,接口即照相机10包括的各个模块。具体地,可以将各个模块作为QT的槽函数,或者Node.js的事件处理函数,可以将事件作为信号函数。
拍摄模块11用于指定某个摄像头拍摄照片或者视频。拍摄模块11可能触发的事件包括拍摄完成事件和硬件故障事件。若拍摄模块11成功拍摄照片或视频,则触发拍摄完成事件,拍摄完成事件可以保存拍摄的照片或者视频;若拍摄过程中,正在拍摄的摄像头出现故障,则触发硬件故障事件,硬件故障事件可以自动记录出现故障的设备名称、编号和故障类型等信息。
其中,摄像头是可以预先配置的,可以通过配置文件来配置可拍摄的摄像头。预设的摄像头可以包括人脸摄像头、自助服务区摄像头、出钞口摄像头和高拍仪等。
在一个实施例中,拍摄模块11,还用于指定拍摄时的焦距,并保存拍摄信息在拍摄的照片或视频中。
在本发明实施例中,拍摄模块11可以指定拍摄时的焦距。拍摄时的焦距可以包括摄像头最大尺寸、A4纸张尺寸、A5纸张尺寸、A6纸张尺寸、A7纸张尺寸、名片尺寸、身份证尺寸、SP(scale-independent pixel)决定尺寸、屏幕分辨率尺寸和窗口尺寸等。
拍摄模块11还可以保存拍摄信息在已拍摄的照片或视频中。其中拍摄信息可以包括日期和时间等。拍摄模块11还可以自定义保存照片或视频的路径。
预览模块12,可以对任意一个预设的摄像头拍摄的照片或者视频进行预览,可以在保存拍摄的照片或视频前进行预览,也可以在拍摄前预览将要拍摄的图像。预览模块12可以通过配置文件来配置可拍摄的摄像头。
预览模块12可以触发的事件包括预览成功事件和硬件故障事件。若预览成功,则可以触发预览成功事件,预览成功事件可以退出预览状态;若在预览的过程中,对应的摄像头发生故障,则可以触发硬件故障事件。对应的摄像头可以指拍摄正在预览的照片或者视频的摄像头。
在一个实施例中,预览模块12,还用于指定预览模式,并执行预览时的指令。
其中,预览模式即焦距,可以包括摄像头最大尺寸、A4纸张尺寸、A5纸张尺寸、A6纸张尺寸、A7纸张尺寸、名片尺寸、身份证尺寸、SP决定尺寸、屏幕分辨率尺寸和窗口尺寸等。预览时的指令可以是预览视频或照片时的指令,可以包括创建、删除、保存、暂停和继续等。
取消预览模块13可以取消正在进行或者将要进行的照片预览或者视频预览。该模块可以触发的事件包括取消预览事件、预览成功事件和硬件故障事件。若成功取消预览,则触发取消预览成功事件,取消预览成功事件可以退出预览状态;若在取消预览之前,成功预览照片或视频,则触发预览成功事件;若对应的摄像头发生故障,则触发硬件故障事件。
本发明实施例提供的照相机的各个模块能够自动触发对应的事件,各个模块具有较好的通用性,能够让所有涉及到照相机设备的业务设计,具有统一的照相机设备访问和调用的接口,无需对每一个接口再进行代码上的处理,降低了开发难度和实现难度,使得基于照相机为中间件的应用软件的开发更容易掌握,不必再需要考虑设计统一的照相机接口和协议。
在一个实施例中,照相机10还包括相机重置模块和属性值获取模块;
相机重置模块,用于复位照相机10,并在成功复位后触发复位成功事件,或在复位失败后触发硬件故障事件;
属性值获取模块,用于获取各个预设的摄像头的状态、各个预设的摄像头的介质状态、各个预设的摄像头已拍摄的照片或者视频的数量以及各个预设的摄像头对应的最大存储容量。
在本发明实施例中,相机重置模块用于重新复位相机,一般用于修复相机错误。相机重置模块可能触发的事件包括复位成功事件和硬件故障事件。若成功复位照相机10,则触发复位成功事件;若由于照相机10故障导致复位失败,则触发硬件故障事件。
属性值获取模块用于获取照相机10的属性。具体地,照相机10的属性可以包括:获取设备状态,设备状态包括无设备、设备错误和设备正常;获取拍摄自助服务区的摄像头的状态,该状态包括不支持、状态正常、不可操作和状态未知;获取拍摄人脸的摄像头的状态,该状态包括不支持、状态正常、不可操作和状态未知;获取拍摄出钞口的摄像头的状态,该状态包括不支持、状态正常、不可操作和状态未知;获取高拍仪的状态,该状态包括不支持、状态正常、不可操作和状态未知;获取拍摄自助服务区的摄像头的介质状态,该状态包括正常、将满、已满、不支持和未知;获取拍摄人脸的摄像头的介质状态,该状态包括正常、将满、已满、不支持和未知;获取拍摄出钞口的摄像头的介质状态,该状态包括正常、将满、已满、不支持和未知;获取高拍仪的介质状态,该状态包括正常、将满、已满、不支持和未知;获取自助服务区摄像头、人脸摄像头、出钞口摄像头和高拍仪分别对应的存储器中已存储的照片数量和视频数量,即各个预设的摄像头已拍摄的照片或者视频的数量;获取各个预设的摄像头对应的最大存储容量;获取当前设备的最大存储容量;获取照相机10是否支持在照片或者视频上保存信息;获取允许保存在照片或视频上的字符串的最大长度。
具体的,照相机10的属性的具体形式可以如下:
StDeviceStatus设备状态:NODEVICE:无设备;FATAL:设备错误;HEALTHY:设备正常。
StRoomCameraStatus拍摄自助服务区的摄像头的状态:NOTSUPP:不支持;OK:状态正常;INOP:不可操作;UNKNOWN:状态未知。
StPersonCameraStatus拍摄人脸的摄像头的状态:NOTSUPP:不支持;OK:状态正常;INOP:不可操作;UNKNOWN:状态未知。
StExitSlotCameraStatus拍摄出钞口的摄像头的状态:NOTSUPP:不支持;OK:状态正常;INOP:不可操作;UNKNOWN:状态未知。
StHighCameraStatus高拍仪的状态:NOTSUPP:不支持;OK:状态正常;INOP:不可操作;UNKNOWN:状态未知。
StRoomMediaStatus拍摄自助服务区的摄像头的介质状态:OK:正常;HIGH:将满;FULL:已满;NOTSUPP:不支持;UNKNOWN:未知。
StPersonMediaStatus拍摄人脸的摄像头的介质状态:OK:正常;HIGH:将满;FULL:已满;NOTSUPP:不支持;UNKNOWN:未知。
StExitSlotMediaStatus拍摄出钞口的摄像头的介质状态:OK:正常;HIGH:将满;FULL:已满;NOTSUPP:不支持;UNKNOWN:未知。
StHighMediaStatus高拍仪的介质状态:OK:正常;HIGH:将满;FULL:已满;NOTSUPP:不支持;UNKNOWN:未知。
StRoomPicturesTaken自助服务区摄像头的存储器中存储的图片的数量。
StPersonPicturesTaken人脸摄像头的存储器中存储的图片的数量。
StExitSlotPicturesTaken钞口区摄像头的存储器中存储的图片的数量。
StHighPicturesTaken高拍仪的存储器中存储的图片的数量。
CpMaxPictures当前设备的最大存储容量。
CpPictureInfo是否支持在照片或视频上保存信息:NOTSUPPORTED:不支持在照片或视频上保存信息;AUTOMATIC:拍摄信息自动记录;MANUAL:拍照时可以提供图片信息。
CpMaxPictureInfoSize允许保存在照片或视频上的字符串的最大长度。
在一个具体的实现方式中,照相机类的实现方式可以如下:
在一个实施例中,照相机10派生于终端设备。
在本发明实施例中,提出一种照相机类的逻辑设备,是QT中QObject的派生类,或者引入NodeJS的events模块,创建eventEmitter对象,具有NodeJS的Event处理能力。
进一步地,照相机类的逻辑设备可以作为一个终端设备类的派生类,而公共设备类作为QT中QObject的派生类,或者引入NodeJS的events模块,创建eventEmitter对象,具有NodeJS的Event处理能力。
在一个实施例中,终端设备包括打开模块、是否正常服务模块、关闭模块和复位模块;
打开模块,用于打开终端设备,并在成功打开终端设备后触发成功打开设备事件;
是否正常服务模块,用于判断终端设备是否正常提供服务,并在判定无法正常提供服务时,触发获取硬件故障事件;
关闭模块,用于关闭终端设备,并在成功关闭终端设备后触发成功关闭设备事件;
复位模块,用于复位终端设备,并在成功复位终端设备后触发成功复位设备事件。
在一个实施例中,终端设备还包括名称设置模块、名称获取模块和状态获取模块;
名称设置模块,用于设置终端设备的名称;
名称获取模块,用于获取终端设备的名称;
状态获取模块,用于获取终端设备的状态,并在终端设备的状态发生变化时,触发获取设备状态改变事件。
在本发明实施例中,终端设备的各个模块可以作为接口,可以以槽函数的形式实现,各个模块对应的事件可以以信号函数的形式实现。
可选地,终端设备还包括获取软件版本号模块、配置文件路径设置模块、配置文件路径获取模块和判断终端设备是否打开模块。
其中,获取软件版本号模块,用于获取软件版本号;配置文件路径设置模块用于设置终端设备的配置文件的路径;配置文件路径获取模块,用于获取终端设备的配置文件所在的路径;判断终端设备是否打开模块,用于判断终端设备是否处于打开状态。
可选地,终端设备对应的触发事件还可以包括获取设备事件,该事件在终端设备的信号触发时被触发。其中,终端设备的信号触发是根据终端设备执行的指令结果决定的。如执行照相机取消预览模块,执行完后,可能会触发的事件:取消预览成功事件、预览成功事件和硬件故障事件等三种情况。当终端设备被操作也可能有信号触发,如终端设备状态改变也会触发信号等等。
在一个具体的实现方式中,终端设备类的实现方式可以如下:
在一个实施例中,照相机10利用信号和槽的机制,或者利用事件驱动机制实现照相机包括的各个模块分别对应的事件的自动触发。
其中,信号和槽的机制是指QT中的信号和槽的机制,事件驱动机制是指Node.js的事件驱动机制。
QT提供了信号与槽机制用于完成界面操作的响应,是完成任意两个QT对象之间通信的机制。其中,信号会在某个特定情况或动作下被触发,槽是等同与接受并处理信号的函数。
例如,若要将一个窗口部件的变化情况通知给另一个窗口部件,则一个窗口部件发送信号,另一个窗口部件的槽接受信号并接受相应操作,既可实现两个窗口部件之间的通信。
每个QT对象都包含若干个预定义的信号和槽,当某一个特定事件发生时,一个信号被发送,与信号相关联的槽则会响应信号并完成相应的处理。当一个类被继承时,该类的信号与槽也同时被继承,也可以根据自定义信号与槽。
信号与槽的连接方式主要包括以下三种方式:
1)一个信号可以与另一个信号相连:
connect(Object1,SIGNAL(signal1),Object2,SIGNAL(signal1));1
表示Object1的信号1发送可以触发Object2的信号1发送。
2)同一个信号可以与多个槽相连:
connect(Object1,SIGNAL(signal2),Object2,SLOT(slot2);
connect(Object1,SIGNAL(signal3),Object3,SLOT(slot1);1
3)同一个槽可以响应多个信号:
connect(Object1,SIGNAL(signal2),Object2,SIGNAL(slot2);
connect(Object3,SIGNAL(signal2),Object2,SIGNAL(slot2);1
其中,常用的连接方式为:
connect(Object1,SIGNAL(signal),Object2,SLOT(slot));1
SIGNAL()和SLOT()定义的两个宏,它们返回参数的C语言风格字符串(constchar*)。因此下面这样两种是等同的:
connect(button,SIGNAL(clicked()),this,SLOT(showArea());
connect(button,"clicked()",this,"showArea()");1
信号与槽机制有以下优点:
1)类型安全
信号参数类型和参数个数与槽参数类型和个数相同,不过槽的参数个数可以少于信号参数个数,缺少的参数必须是信号参数的最后一个或几个参数。如果不满足上述条件就会报错。
2)松散耦合
在创建后,激发信号的QT对象不需要知道哪个对象的哪个槽关联到了信号,同样,对象的槽也不知道是哪个槽关联了自己,而一旦关联信号和槽,QT就保证合适的槽得到了调用,即使关联的对象被删除,应用程序也不会关闭。
一个类若要支持信号与槽,就必须从QObject或QObject的子类继承,注意,Qt的信号与槽机制不支持对模版的使用。
3)信号与槽机制的效率
由于增加了灵活性,与回调函数相比,信号与槽的运行机制速度有些慢,通常,通过传递一个信号来调用槽函数将会比直接调用非虚函数慢10倍。原因主要是需要定位接受对象;安全地遍历所有的关联(如一信号对多槽);多线程时信号可能需要排队等待。
Node.js有多个内置的事件,可以通过引入events模块,并通过实例化EventEmitter类来绑定和监听事件,如下实例:
//引入events模块
var events=require('events');
//创建eventEmitter对象
var eventEmitter=new events.EventEmitter();
以下程序绑定事件处理程序:
//绑定事件及事件的处理程序
eventEmitter.on('eventName',eventHandler);
可以通过程序触发事件:
//触发事件
eventEmitter.emit('eventName');
在Node应用程序中,执行异步操作的函数将回调函数作为最后一个参数,回调函数接收错误对象作为第一个参数。
Node.js使用事件驱动模型,当web server接收到请求,就把它关闭然后进行处理,接着去服务下一个web请求。
当这个请求完成,它被放回处理队列,当到达队列开头,这个结果被返回给用户。
这个模型非常高效且可扩展性非常强,因为web server一直接受请求而不等待任何读写操作。(这也被称之为非阻塞式IO或者事件驱动IO)。
在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数。
整个事件驱动的流程就是这么实现的,非常简洁。有点类似于观察者模式,事件相当于一个主题(Subject),而所有注册到这个事件上的处理函数相当于观察者(Observer)。
本发明实施例可以采用QT中信号与槽无缝通信连接方式,实现信号模块与槽模块的按照次序的关联调用;也可以采用Node.js事件循环技术机制实现。
本发明实施例提供的照相机,能够让所有涉及到照相机设备的业务设计,具有统一的照相机设备访问和调用的接口,并不会因为具体硬件形态的照相机的不同,而使得业务设计需要自动适配硬件变化;并且照相机的每一个接口,均具有智能体(Agent)功能,各个接口能够根据自主执行,并且自主传送到下一个接口;可以利用本发明实施例提供的照相机进行业务的图形化设计,然后设计完成的业务,可以以配置文件形式,在统一的业务执行环境中执行流程,实现所有涉及照相机操作的业务流程对应的业务功能。
图2是本发明一实施例提供的照相机的使用方法的实现流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分。该使用方法应用于上述照相机。如图2所示,照相机的使用方法可以包括以下步骤:
S201:若接收到拍摄指令,则调用拍摄模块,根据拍摄指令指定对应的摄像头进行拍摄,并在拍摄成功后,将拍摄的照片或者视频保存在该摄像头对应的存储区域,或者,在该摄像头故障时,记录该摄像头的故障信息。
在本发明实施例中,拍摄指令可以包括指定的摄像头和拍摄类型等信息。指定的摄像头可以是预设的摄像头中的任意一个;拍摄类型可以包括照片和视频中的任意一个。
当接收到拍摄指令后,调用照相机的拍摄模块,指定拍摄指令中指定的摄像头进行拍摄。若拍摄成功,则将拍摄的照片或者视频保存在该摄像头对应的存储区域(存储器);若该摄像头在拍摄过程中出现故障,则自动记录该摄像头的故障信息。
可选地,在拍摄成功后,将拍摄信息保存在拍摄的照片或者视频上。
S202:若接收到预览指令,则调用预览模块,执行预览指令,并根据在预览过程中接收到的保存指令,保存正在预览的照片或视频,或者,根据在预览过程中接收到的删除指令,删除正在预览的照片或视频。
其中,预览指令可以包括待预览的照片信息或视频信息。
当接收到预览指令之后,调用预览模块,并预览待预览的照片或视频。在预览过程中,若接收到保存指令,则保存正在预览的照片或视频;若接收到删除指令,则删除正在预览的照片或视频;若接收到暂停指令,则暂停预览;若接收到继续指令,则继续预览。
S203:若接收到取消预览指令,则调用取消预览模块,取消正在进行的照片预览或者视频预览。
在本发明实施例中,当接收到取消预览指令之后,调用取消预览模块,取消正在进行或即将进行的照片预览或视频预览。
在一个实施例中,照相机的使用方法还可以包括:
若拍摄模块进行拍摄的时间超过预设时间,则判定拍摄超时,并退出拍摄。
在本发明实施例中,若拍摄模块进行长时间的无效拍摄,则判定拍摄超时,并退出拍摄。其中,预设时间可以根据实际需求进行设置。
图3是本发明另一实施例提供的照相机的使用方法的实现流程示意图。在一个具体的应用场景中,例如,在自助终端进行拍照的流程示意图,如图3所示:
“开始”节点,表示流程开始执行,进入本流程。
“是否为联网核查交易”节点,通过获取数据池中TRAN:TransType的值是否为IDCK来判断是否为联网核查交易。若TRAN:TransType的值是IDCK,则为需要联机核查交易;若TRAN:TransType的值不是IDCK,则不需要联网核查交易,流程结束。
“打开PIN输入”节点,通过执行PIN设备的UserEntry()接口实现。
“设置拍摄位置”节点,通过对Action设备的setDataPoolStringValue接口进行操作,设置数据池中nXPos、nYPos、nWidth、nHeight的值实现。
“摄像头”节点,见下文详细讲解。
“超时”节点,表示执行本子流程超时,流程退出。
“取消”节点,表示用户取消拍照或摄像,流程退出。
“设备故障”节点,表示发生照相机设备故障,流程退出。
“硬件故障”节点,表示发生照相机之外的硬件或设备故障,流程退出。
“退出维护前清理”节点,表示通过执行PIN设备的CancelUserEntry()接口实现关闭pin输入。
“拍照完成”节点,表示拍照完成,或者不需要拍照,流程退出。
如图4所示,“摄像头”节点的具体流程如下:
1)进入本流程节点,Action设备的Active()事件被触发,执行mainWin设备的load接口实现对显示摄像头界面的加载。
2)mainWin设备的urlLoadComplete()事件触发,执行mainWin设备的setInnerXML接口,设置超时时间,并递减计数。执行Action设备的callScriptFun()接口记录日志内容“开始拍照”。
3)执行mainWin设备的winId接口,从中获取网页设备子窗口的id,并保存到数据池变量SYSTEM:WinId中。
4)如果Action设备的Active()事件被触发,执行Camera设备的display接口实现相机预览。通过此接口可以在拍照前预览将要拍摄的图像。通过配置文件来配置可拍摄摄像头。
5)如果照相机设备的hardware_error()事件触发,则执行Action设备的Deliver()接口,从该节点的error端口退出本节点。并执行Action设备的callScriptFun()接口记录日志内容“摄像头硬件故障”。
6)如果mainWin设备的keyPressed()事件触发CancelKey键被按下,则执行Action设备的Deliver()接口,从该节点的cancel端口退出本节点。
7)如果Camera设备的PictureTaken()事件触发,表示指定的相机拍摄照片成功,则执行mainWin设备的setAtribute()接口,把拍摄的照片保存到数据池中指定的文件路径。
8)如果Action设备的timeoutEvent()事件被触发,执行Action设备的Deliver()接口,从该节点的timeout端口退出本节点。
9)如果Action设备的pinDeliver()事件被触发,执行Camera设备的display()接口实现相机预览;如果mainWin设备的keyPressed()事件触发CancelKey键被按下,表示客户取消本照片,则销毁该照片,执行Action设备的Deliver()接口,从该节点的cancel端口退出本节点。
本发明实施例通过对金融终端应用系统的照相机中间件模块进行设计,使得新的照相机模块能够具有事件触发功能机制和Agent自主执行功能,如具有qt信号与槽的关联机制或者NodeJS的事件驱动机制。为研发零代码工程开发的金融终端应用统一平台奠定了技术基础,可以降低金融终端应用工程实施和软件维护的技术门槛和人力成本。并且,为图形化实现基于照相机中间件模块的应用程序进行图形化编程奠定了基础,可以脱离复杂编程环境。
应用本发明实施例提供的照相机,能够实现基于照相机中间件的业务流程的中间件接口级别上的图形化逻辑解耦,从而能够有效控制住应用程序的代码版本不会随着工程应用的扩张呈指数级别扩展。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种照相机,其特征在于,包括拍摄模块、预览模块和取消预览模块;
所述拍摄模块,用于指定任意一个预设的摄像头进行拍摄,并在拍摄完成后触发拍摄完成事件,或在指定的预设的摄像头故障时,触发硬件故障事件;
所述预览模块,用于对任意一个预设的摄像头拍摄的照片或者视频进行预览,并在预览成功后触发预览成功事件,或在对应的摄像头发生故障时,触发所述硬件故障事件;
所述取消预览模块,用于取消正在进行的照片预览或者视频预览,并在成功取消预览后触发取消预览成功事件,或在正在进行的照片预览成功或视频预览成功后触发所述预览成功事件,或在对应的摄像头发生故障时,触发所述硬件故障事件。
2.根据权利要求1所述的照相机,其特征在于,还包括相机重置模块和属性值获取模块;
所述相机重置模块,用于复位所述照相机,并在成功复位后触发复位成功事件,或在复位失败后触发所述硬件故障事件;
所述属性值获取模块,用于获取各个所述预设的摄像头的状态、各个所述预设的摄像头的介质状态、各个所述预设的摄像头已拍摄的照片或者视频的数量以及各个所述预设的摄像头对应的最大存储容量。
3.根据权利要求1所述的照相机,其特征在于,所述拍摄模块,还用于指定拍摄时的焦距,并保存拍摄信息在拍摄的照片或视频中。
4.根据权利要求1所述的照相机,其特征在于,所述预览模块,还用于指定预览模式,并执行预览时的指令。
5.根据权利要求1所述的照相机,其特征在于,所述照相机派生于终端设备。
6.根据权利要求5所述的照相机,其特征在于,所述终端设备包括打开模块、是否正常服务模块、关闭模块和复位模块;
所述打开模块,用于打开所述终端设备,并在成功打开所述终端设备后触发成功打开设备事件;
是否正常服务模块,用于判断所述终端设备是否正常提供服务,并在判定无法正常提供服务时,触发获取硬件故障事件;
所述关闭模块,用于关闭所述终端设备,并在成功关闭所述终端设备后触发成功关闭设备事件;
所述复位模块,用于复位所述终端设备,并在成功复位所述终端设备后触发成功复位设备事件。
7.根据权利要求6所述的照相机,其特征在于,所述终端设备还包括名称设置模块、名称获取模块和状态获取模块;
所述名称设置模块,用于设置所述终端设备的名称;
所述名称获取模块,用于获取所述终端设备的名称;
所述状态获取模块,用于获取所述终端设备的状态,并在所述终端设备的状态发生变化时,触发获取设备状态改变事件。
8.根据权利要求1至7任一项所述的照相机,其特征在于,所述照相机利用信号和槽的机制,或者利用事件驱动机制实现所述照相机包括的各个模块分别对应的事件的自动触发。
9.一种照相机的使用方法,其特征在于,应用于如权利要求1至8任一项所述的照相机,所述照相机的使用方法包括:
若接收到拍摄指令,则调用所述拍摄模块,根据所述拍摄指令指定对应的摄像头进行拍摄,并在拍摄成功后,将拍摄的照片或者视频保存在该摄像头对应的存储区域,或者,在该摄像头故障时,记录该摄像头的故障信息;
若接收到预览指令,则调用所述预览模块,执行所述预览指令,并根据在预览过程中接收到的保存指令,保存正在预览的照片或视频,或者,根据在预览过程中接收到的删除指令,删除正在预览的照片或视频;
若接收到取消预览指令,则调用所述取消预览模块,取消正在进行的照片预览或者视频预览。
10.根据权利要求9所述的照相机的使用方法,其特征在于,所述照相机的使用方法还包括:
若所述拍摄模块进行拍摄的时间超过预设时间,则判定拍摄超时,并退出拍摄。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799969.2A CN110602385A (zh) | 2019-08-28 | 2019-08-28 | 照相机及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799969.2A CN110602385A (zh) | 2019-08-28 | 2019-08-28 | 照相机及其使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110602385A true CN110602385A (zh) | 2019-12-20 |
Family
ID=68855964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910799969.2A Pending CN110602385A (zh) | 2019-08-28 | 2019-08-28 | 照相机及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110602385A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1246021A (zh) * | 1998-07-09 | 2000-03-01 | 松下电器产业株式会社 | 摄像装置和视频监视系统 |
CN201247529Y (zh) * | 2008-08-08 | 2009-05-27 | 公安部交通管理科学研究所 | 具有双工容错检测能力的公路车辆智能监测记录设备 |
US20090265462A1 (en) * | 2008-04-18 | 2009-10-22 | Canon Kabushiki Kaisha | Monitoring apparatus and storage method |
CN101783970A (zh) * | 2009-12-22 | 2010-07-21 | 新太科技股份有限公司 | 摄像机故障自动检测和管理方法、装置和系统 |
CN102804762A (zh) * | 2009-06-29 | 2012-11-28 | 松下电器产业株式会社 | 车载用影像显示装置 |
CN104349054A (zh) * | 2013-07-29 | 2015-02-11 | 卡西欧计算机株式会社 | 摄像装置、摄像方法 |
CN105184213A (zh) * | 2014-06-12 | 2015-12-23 | 松下知识产权经营株式会社 | 图像识别方法、相机系统 |
CN107277427A (zh) * | 2017-05-16 | 2017-10-20 | 广州视源电子科技股份有限公司 | 自动选择摄像头画面的方法、装置及音视频系统 |
CN108540720A (zh) * | 2018-04-14 | 2018-09-14 | 长沙全度影像科技有限公司 | 一种用于子弹时间自动选取最优图像的系统及方法 |
CN110113515A (zh) * | 2019-05-13 | 2019-08-09 | Oppo广东移动通信有限公司 | 拍照控制方法及相关产品 |
-
2019
- 2019-08-28 CN CN201910799969.2A patent/CN110602385A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1246021A (zh) * | 1998-07-09 | 2000-03-01 | 松下电器产业株式会社 | 摄像装置和视频监视系统 |
US20090265462A1 (en) * | 2008-04-18 | 2009-10-22 | Canon Kabushiki Kaisha | Monitoring apparatus and storage method |
CN201247529Y (zh) * | 2008-08-08 | 2009-05-27 | 公安部交通管理科学研究所 | 具有双工容错检测能力的公路车辆智能监测记录设备 |
CN102804762A (zh) * | 2009-06-29 | 2012-11-28 | 松下电器产业株式会社 | 车载用影像显示装置 |
CN101783970A (zh) * | 2009-12-22 | 2010-07-21 | 新太科技股份有限公司 | 摄像机故障自动检测和管理方法、装置和系统 |
CN104349054A (zh) * | 2013-07-29 | 2015-02-11 | 卡西欧计算机株式会社 | 摄像装置、摄像方法 |
CN105184213A (zh) * | 2014-06-12 | 2015-12-23 | 松下知识产权经营株式会社 | 图像识别方法、相机系统 |
CN107277427A (zh) * | 2017-05-16 | 2017-10-20 | 广州视源电子科技股份有限公司 | 自动选择摄像头画面的方法、装置及音视频系统 |
CN108540720A (zh) * | 2018-04-14 | 2018-09-14 | 长沙全度影像科技有限公司 | 一种用于子弹时间自动选取最优图像的系统及方法 |
CN110113515A (zh) * | 2019-05-13 | 2019-08-09 | Oppo广东移动通信有限公司 | 拍照控制方法及相关产品 |
Non-Patent Citations (1)
Title |
---|
摘新月: "vs2013+opencv2.4.9+qt5.6实现拍照并保存功能", 《HTTPS://BLOG.CSDN.NET/ZKZ10086/ARTICLE/DETAILS/80566109》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6177179B2 (ja) | エラーハンドリングをもつトランザクションのグラフ型計算 | |
WO2009146612A1 (zh) | 嵌入式c语言环境下异常处理方法及装置 | |
CN105556482B (zh) | 监视移动应用性能 | |
US9053240B2 (en) | Computer program testing | |
CN111625452A (zh) | 流量回放方法和系统 | |
CN109064327B (zh) | 一种智能合约处理方法、装置及设备 | |
CN109542642A (zh) | 一种前端任务处理的方法及装置 | |
CN107544853A (zh) | 一种与银行进行交互重试的方法和系统 | |
CN115134352B (zh) | 一种埋点数据上传方法、装置、设备及介质 | |
CN116150034A (zh) | 应用自动化测试方法、装置、设备、介质和程序产品 | |
CN103577273A (zh) | 共同操作的多映像系统中的第二故障数据捕获 | |
CN110442407B (zh) | 应用程序的处理方法及装置 | |
JP2006338197A (ja) | トランザクション制御プログラム、トランザクション制御方法及びトランザクション処理システム | |
CN110602385A (zh) | 照相机及其使用方法 | |
CN105242981A (zh) | 一种Kdump的配置方法及计算机设备 | |
CN110688522A (zh) | 基于关键帧的交易流水记录方法及装置 | |
CN111192034B (zh) | 一种业务请求数据的处理方法和装置 | |
CN106657797A (zh) | 一种摄像机的调用方法、装置及系统 | |
CN102937934B (zh) | 通过动态的语言引擎捕捉遥测数据 | |
CN111475423A (zh) | 数据录入方法、装置、电子设备及可读存储介质 | |
WO2023273066A1 (zh) | 人脸考勤方法及装置、电子设备、存储介质和计算机程序产品 | |
CN108391120A (zh) | 一种摄像头开启测试方法、装置、设备和存储介质 | |
JP7157877B2 (ja) | ユースケース仕様およびランタイム実行 | |
CN109656537B (zh) | 一种支持多种应用容器的Web应用框架及使用方法 | |
JP4455799B2 (ja) | イベント予約メカニズム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191220 |
|
RJ01 | Rejection of invention patent application after publication |