图像叠加水印的方法、装置、电子设备及存储介质与流程

未命名 08-22 阅读:102 评论:0


1.本技术涉及软件开发技术领域,具体而言,涉及一种图像叠加水印的方法、装置、电子设备及存储介质。


背景技术:

2.随着信息时代的到来,目前市场上添加水印的方案应用越来越多,例如车载和安防监控等行业,将包含版权信息的水印与原始数据嵌入到一起,从而使盗用者不能将其分离。在一些视频监控系统,则会同将时间、地点等信息做成水印,嵌入到视频内容当中,达到记录关键信息的目的。
3.相关技术中,通常是在安卓系统的硬件抽象层hal(hardware abstraction laye)中叠加数据以实现水印,此种方式只能在系统层进行定制修改,无法在apk(android application package,android应用程序包)中进行自定义修改,可拓展性较低。
4.针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。


技术实现要素:

5.本技术提供了一种图像叠加水印的方法、装置、电子设备及存储介质,以解决相关技术图像叠加水印只能在系统层进行定制修改,无法在android应用程序包apk中进行自定义修改,可拓展性较低的技术问题。
6.根据本技术实施例的一个方面,提供了一种图像叠加水印的方法,包括:在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;通过所述水印接口接收所述应用层传输的水印数据;在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。
7.进一步地,通过所述水印接口接收所述应用层传输的水印数据包括:在所述硬件抽象层hal创建socket服务端,所述socket服务端与所述应用层创建的socket客户端之间通信连接;通过所述socket服务端和所述水印接口接收所述应用层传输的水印数据。
8.进一步地,在所述硬件抽象层hal创建socket服务端之后,所述方法还包括:监听socket服务端的目标端口,并调用阻塞线程等待socket户端连接。
9.进一步地,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:在所述应用层与所述硬件抽象层hal建立通信连接时,采用第一缓冲器存储所述应用层传输的水印数据,采用第二缓冲器存储将所述水印数据与原始图像数据流叠加后的图像数据;在所述第一缓冲器结束数据接收时,采用所述第一缓冲器存储将所述水印数据与原始数据流叠加后的图像数据,采用所述第二缓冲器存储所述应用层传输的水印数据。
10.进一步地,在通过所述水印接口接收所述应用层传输的水印数据之前,所述方法还包括:在应用层自定义水印数据,所述水印数据包括水印内容和水印的位置信息;调用所述硬件抽象层hal创建的水印接口;通过所述水印接口向所述硬件抽象层hal传输水印数据。
11.进一步地,通过所述水印接口向所述硬件抽象层hal传输水印数据包括:在所述应用层创建socket客户端,所述socket客户端与所述硬件抽象层hal创建的socket服务端之间通信连接;通过所述socket客户端和所述水印接口向所述硬件抽象层hal传输水印数据。
12.进一步地,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:解析所述水印数据的位图格式,其中,所述解析后的位图格式和原始图像数据流的数据格式一致;将解析后的水印数据和所述原始图像数据流进行叠加。
13.根据本技术实施例的另一个方面,还提供了一种图像叠加水印的装置,包括:创建模块,用于在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;接收模块,用于通过所述水印接口接收所述应用层传输的水印数据;叠加模块,用于在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。
14.进一步地,所述接收模块包括第一接收单元,用于在所述硬件抽象层hal创建socket服务端,所述socket服务端与所述应用层创建的socket客户端之间通信连接;通过所述socket服务端和所述水印接口接收所述应用层传输的水印数据。
15.进一步地,所述第一接收单元,还用于监听socket服务端的目标端口,并调用阻塞线程等待socket户端连接。
16.进一步地,所述叠加模块包括第一叠加单元,用于在所述应用层与所述硬件抽象层hal建立通信连接时,采用第一缓冲器存储所述应用层传输的水印数据,采用第二缓冲器存储将所述水印数据与原始图像数据流叠加后的图像数据;在所述第一缓冲器结束数据接收时,采用所述第一缓冲器存储将所述水印数据与原始数据流叠加后的图像数据,采用所述第二缓冲器存储所述应用层传输的水印数据。
17.进一步地,所述图像叠加水印的装置还包括水印创建模块,用于在应用层自定义水印数据,所述水印数据包括水印内容和水印的位置信息;调用所述硬件抽象层hal创建的水印接口;通过所述水印接口向所述硬件抽象层hal传输水印数据。
18.进一步地,所述水印创建模块包括水印创建单元,用于在所述应用层创建socket客户端,所述socket客户端与所述硬件抽象层hal创建的socket服务端之间通信连接;通过所述socket客户端和所述水印接口向所述硬件抽象层hal传输水印数据。
19.进一步地,所述叠加模块包括第二叠加单元,用于解析所述水印数据的位图格式,其中,所述解析后的位图格式和原始图像数据流的数据格式一致;将解析后的水印数据和所述原始图像数据流进行叠加。
20.根据本技术实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
21.根据本技术实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
22.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
23.通过本技术,在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;通过所述水印接口接收所述应用层传输的水印数据;
在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流,通过在硬件抽象层创建水印接口,将添加水印的接口提供给应用层使用,使应用层开发者可直接在android应用程序包apk中对水印进行定制,提高了水印叠加的拓展性。
附图说明
24.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
25.图1是本技术实施例的一种计算机的硬件结构框图;
26.图2是根据本技术实施例的一种图像叠加水印的方法的流程图;
27.图3是本技术实施例的实施流程示意图;
28.图4是根据本技术实施例的一种图像叠加水印的装置的结构框图。
具体实施方式
29.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
30.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.实施例1
32.本技术实施例一所提供的方法实施例可以在手机、计算机、平板或者类似的运算装置中执行。以运行在计算机上为例,图1是本技术实施例的一种计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
33.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本技术实施例中的一种图像叠加水印的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、
闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
34.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
35.在本实施例中提供了一种图像叠加水印的方法,图2是根据本技术实施例的一种图像叠加水印的方法的流程图,如图2所示,该流程包括如下步骤:
36.步骤s10,在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;
37.具体地,上述水印数据可以是bitmap,bitmap是水印位图,即使用像素阵列来表示的图像,在bitmap中可以添加数字、字母以及文字,因此本实施例中通过在安卓应用程序中创建水印bitmap,并在bitmap中添加文字,通过调用水印接口向硬件抽象层(hardware abstract layer,简称为hal)传输bitmap,即可实现在图像中叠加文字形式的水印,使得水印更加多样化,本实施例中的图像可以包括摄像头的预览界面、拍照界面和录像界面等,即在上述各摄像头画面中叠加通过应用层自定义的水印。
38.步骤s20,通过所述水印接口接收所述应用层传输的水印数据;
39.步骤s30,在所述系统层将所述水印数据叠加至原始图像数据流。
40.通过水印接口接收应用层传输的水印数据,在系统层将水印数据叠加至原始图像数据流。本实施例实现了在apk(android application package,android应用程序包)自定义水印数据后传输至系统hal层,在系统hal层添加水印叠加到摄像头的画面中,包括摄像头的预览、拍照、录像等场景,解决了现有方案只能在系统层定制,一旦系统版本出版后,无法再自定义修改,水印位置只能固定在一个地方,无法改变的问题。
41.通过上述步骤,在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;通过所述水印接口接收所述应用层传输的水印数据;在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流,通过在硬件抽象层创建水印接口,将添加水印的接口提供给应用层使用,使应用层开发者可直接在android应用程序包apk中对水印进行定制,提高了水印叠加的拓展性。
42.在本实施例的一实施方式中,通过所述水印接口接收所述应用层传输的水印数据包括:在所述硬件抽象层hal创建socket服务端,所述socket服务端与所述应用层创建的socket客户端之间通信连接;通过所述socket服务端和所述水印接口接收所述应用层传输的水印数据。
43.参考图3,通过在硬件抽象层hal创建socket服务端,上层应用app通过创建socket客户端,调用水印接口,以及创建水印bitmap,通过socket通讯将水印bitmap数据传输给socket服务端,服务端接收数据并解析,在硬件抽象层hal中叠加水印数据在原始数据中。其中,socket指套接字,是网络通信过程中端点的抽象表示。可选地,除socket通讯之外,还可以通过其他的安卓平台的跨进程通信方式,建立硬件抽象层hal创建的服务端与应用层
创建的客户端之间的通信,例如使用bundle、文件共享、messenger、aidl、contentprovider等。
44.本实施方式在所述硬件抽象层hal创建socket服务端之后,所述方法还包括:监听socket服务端的目标端口,并调用阻塞线程等待socket客户端连接。
45.目标端口可以为7000+camera id端口,限制只允许一个客户端进行连接。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,调用阻塞线程等待客户端的连接请求,其中,客户端发起连接请求后,将一直等待请求结果返回,即当前线程会被挂起。本实施例中还可设置多个目标端口以与多个客户端进行连接。
46.在本实施例的另一实施方式中,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:在所述应用层与所述硬件抽象层hal建立通信连接时,采用第一缓冲器存储所述应用层传输的水印数据,采用第二缓冲器存储将所述水印数据与原始图像数据流叠加后的图像数据;在所述第一缓冲器结束数据接收时,采用所述第一缓冲器存储将所述水印数据与原始数据流叠加后的图像数据,采用所述第二缓冲器存储所述应用层传输的水印数据。
47.服务端在客户端连接时,创建一个线程,用于处理与客户端的数据通信,具体地,本实施例采用双缓冲器(buffer)的设计,包括数据接收buffer和工作buffer,数据接收buffer与工作buffer交替使用,接收客户端传输的数据时,将接收的数据保存在数据接收buffer,此时叠加水印使用工作buffer的数据,等数据接收结束,数据接收buffer转换成工作buffer,工作buffer转换成数据接收buffer,水印最终显示的内容为工作buffer的数据,因此在数据接收结束时转换为工作缓冲(第二缓冲器),这样在保存画面显示时,水印的内容不会被修改,提供了数据的安全性,同时采用双缓冲的方式,提高了水印叠加的流畅性。
48.在本实施例的另一实施方式中,在通过所述水印接口接收所述应用层传输的水印数据之前,所述方法还包括:在应用层自定义水印数据,所述水印数据包括水印内容和水印的位置信息;调用所述硬件抽象层hal创建的水印接口;通过所述水印接口向所述硬件抽象层hal传输水印数据。
49.在应用层创建水印数据,包括在app中自定义水印的水印内容和位置信息,水印内容可以包括数字、字母和文字中的一种或多种,示例性地,在车载摄像头画面的场景下,可自定义车速、时间等水印数据,调用在硬件抽象层hal创建的水印接口,通过水印接口向硬件抽象层hal传输自定义的水印数据,将添加水印的接口提供给app使用,让应用层开发者可直接定制水印内容以及位置,水印更加多样化并且可控制。
50.在本实施例的另一实施方式中,通过所述水印接口向所述系统层传输水印数据包括:在所述应用层创建socket客户端,所述socket客户端与所述硬件抽象层hal创建的socket服务端之间通信连接;通过所述socket客户端和所述水印接口向所述硬件抽象层hal传输水印数据。
51.上层应用通过创建socket客户端,调用水印接口创建水印bitmap,并通过socket通讯将水印bitmap数据传输给socket服务端。
52.在本实施例的另一实施方式中,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:解析所述水印数据的位图格式,其中,所述解析后的位图格式和原始图
像数据流的数据格式一致;将解析后的水印数据和所述原始图像数据流进行叠加。
53.水印数据的传输过程中,为了数据的安全性需要经过封装和解封装,因此,本实施例在服务端接收到水印数据后,对水印数据的位图格式进行解析,以使解析后的水印数据的位图格式和原始图像数据流的数据格式一致,避免由于格式不一致,导致无法进行叠加的问题。
54.其中,基于安卓平台可控制水印实现的实施流程包括如下步骤:
55.步骤1:首先在连接在安卓设备上的单个相机的抽象表示cameradevice的构造函数中创建tcp socket,其中,tcp socket为tcp协议的封装,用于对外提供接口,以供应用层调用,监听7000+camera_id端口,限制只允许一个客户端client进行连接;调用accept阻塞线程等待client连接;
56.步骤2:约定通信格式;app端则可以通过创建tcp client的方式与hal进行通信,当然对通信数据格式需要做一定约束,这样才能保证通信双方能正确解析对方的数据。
57.步骤3:app创建soecket客户端进行数据发送;按照上述约定,app client按照相应的格式发送数据。
58.步骤4:数据接收;client连接时,会创建一个线程,处理与client的数据通信。为了保证水印叠加的流畅性,采用双buffer(缓冲器)设计:数据接收buffer与工作buffer交替使用。接收client数据时数据保存在数据接收buffer,此时叠加水印使用工作buffer的数据,等数据接收结束,数据接收buffer转换成工作buffer,工作buffer转换成数据接收buffer,这样保存画面显示时,水印的内容不会被修改。
59.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
60.实施例2
61.在本实施例中还提供了一种图像叠加水印的装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
62.图4是根据本技术实施例的一种图像叠加水印的装置的结构框图,如图4所示,该装置包括:创建模块60,接收模块62,叠加模块64,其中,
63.创建模块60,用于在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;
64.接收模块62,用于通过所述水印接口接收所述应用层传输的水印数据;
65.叠加模块64,用于在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。
66.可选的,所述接收模块包括第一接收单元,用于在所述硬件抽象层hal创建socket服务端,所述socket服务端与所述应用层创建的socket客户端之间通信连接;通过所述socket服务端和所述水印接口接收所述应用层传输的水印数据。
67.可选的,所述第一接收单元,还用于监听socket服务端的目标端口,并调用阻塞线程等待socket户端连接。
68.可选的,所述叠加模块包括第一叠加单元,用于在所述应用层与所述硬件抽象层hal建立通信连接时,采用第一缓冲器存储所述应用层传输的水印数据,采用第二缓冲器存储将所述水印数据与原始图像数据流叠加后的图像数据;在所述第一缓冲器结束数据接收时,采用所述第一缓冲器存储将所述水印数据与原始数据流叠加后的图像数据,采用所述第二缓冲器存储所述应用层传输的水印数据。
69.可选的,所述图像叠加水印的装置还包括水印创建模块,用于在应用层自定义水印数据,所述水印数据包括水印内容和水印的位置信息;调用所述硬件抽象层hal创建的水印接口;通过所述水印接口向所述硬件抽象层hal传输水印数据。
70.可选的,所述水印创建模块包括水印创建单元,用于在所述应用层创建socket客户端,所述socket客户端与所述硬件抽象层hal创建的socket服务端之间通信连接;通过所述socket客户端和所述水印接口向所述硬件抽象层hal传输水印数据。
71.可选的,所述叠加模块包括第二叠加单元,用于解析所述水印数据的位图格式,其中,所述解析后的位图格式和原始图像数据流的数据格式一致;将解析后的水印数据和所述原始图像数据流进行叠加。
72.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
73.实施例3
74.本技术的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
75.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
76.s1,在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;
77.s2,通过所述水印接口接收所述应用层传输的水印数据;
78.s3,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。
79.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
80.本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
81.可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
82.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
83.s1,在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;
84.s2,通过所述水印接口接收所述应用层传输的水印数据;
85.s3,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。
86.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
87.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
88.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
89.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
90.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
91.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
92.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
93.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种图像叠加水印的方法,其特征在于,所述方法包括:在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;通过所述水印接口接收所述应用层传输的水印数据;在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。2.根据权利要求1所述的方法,其特征在于,通过所述水印接口接收所述应用层传输的水印数据包括:在所述硬件抽象层hal创建socket服务端,所述socket服务端与所述应用层创建的socket客户端之间通信连接;通过所述socket服务端和所述水印接口接收所述应用层传输的水印数据。3.根据权利要求2所述的方法,其特征在于,在所述硬件抽象层hal创建socket服务端之后,所述方法还包括:监听socket服务端的目标端口,并调用阻塞线程等待socket户端连接。4.根据权利要求1所述的方法,其特征在于,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:在所述应用层与所述硬件抽象层hal建立通信连接时,采用第一缓冲器存储所述应用层传输的水印数据,采用第二缓冲器存储将所述水印数据与原始图像数据流叠加后的图像数据;在所述第一缓冲器结束数据接收时,采用所述第一缓冲器存储将所述水印数据与原始数据流叠加后的图像数据,采用所述第二缓冲器存储所述应用层传输的水印数据。5.根据权利要求1所述的方法,其特征在于,在通过所述水印接口接收所述应用层传输的水印数据之前,所述方法还包括:在应用层自定义水印数据,所述水印数据包括水印内容和水印的位置信息;调用所述硬件抽象层hal创建的水印接口;通过所述水印接口向所述硬件抽象层hal传输水印数据。6.根据权利要求5所述的方法,其特征在于,通过所述水印接口向所述硬件抽象层hal传输水印数据包括:在所述应用层创建socket客户端,所述socket客户端与所述硬件抽象层hal创建的socket服务端之间通信连接;通过所述socket客户端和所述水印接口向所述硬件抽象层hal传输水印数据。7.根据权利要求1所述的方法,其特征在于,在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流包括:解析所述水印数据的位图格式,其中,所述解析后的位图格式和原始图像数据流的数据格式一致;将解析后的水印数据和所述原始图像数据流进行叠加。8.一种图像叠加水印的装置,其特征在于,应用于系统层,包括:创建模块,用于在硬件抽象层hal创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层hal传输水印数据;接收模块,用于通过所述水印接口接收所述应用层传输的水印数据;
叠加模块,用于在所述硬件抽象层hal将所述水印数据叠加至原始图像数据流。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行权利要求1至5中任一项所述的方法步骤。10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至5中任一项所述的方法步骤。

技术总结
本申请公开了一种图像叠加水印的方法、装置、电子设备及存储介质,属于软件开发技术领域。其中,该方法包括:在硬件抽象层HAL创建水印接口,所述水印接口用于供应用层调用以向所述硬件抽象层HAL传输水印数据;通过所述水印接口接收所述应用层传输的水印数据;在所述硬件抽象层HAL将所述水印数据叠加至原始图像数据流。通过本申请,解决了相关技术中图像叠加水印只能在系统层进行定制修改,无法在安卓应用程序包APK中进行自定义修改,可拓展性较低的技术问题。的技术问题。的技术问题。


技术研发人员:卢拓东
受保护的技术使用者:深圳市广和通无线股份有限公司
技术研发日:2023.04.21
技术公布日:2023/8/21
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐