CN114418825A - 图像处理方法、装置、计算机设备和存储介质 - Google Patents
图像处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114418825A CN114418825A CN202210229941.7A CN202210229941A CN114418825A CN 114418825 A CN114418825 A CN 114418825A CN 202210229941 A CN202210229941 A CN 202210229941A CN 114418825 A CN114418825 A CN 114418825A
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- watermark
- pixel point
- value
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本申请涉及一种图像处理方法、装置、计算机设备和存储介质。该方法包括:计算机设备获取待处理图像,并获取水印图像的每个像素点的各颜色通道的像素值,根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。其中,水印图像为对原始水印图像进行图像预处理之后得到的图像。在本方法中,计算机设备可以直接对获取到的待处理图像进行水印添加,不需要延时批量传输至服务器进行待处理图像的水印添加,节省了服务器的传输资源、计算资源以及存储资源,并且,水印图像为经过预处理之后的图像,可以适应于不同业务场景,使得水印图像更加个性化、定制化,且进一步提高了添加水印之后的目标图像的安全性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像处理方法、装置、计算机设备和存储介质。
背景技术
随着信息技术的发展,很多业务系统中上传的图片需要添加水印以标记来源信息,同时防止图片被盗用。
目前比较常用的添加水印的做法包括通过第三方软件进行图片的添加水印处理,例如,将图片手动导入至第三方软件photoshop中进行手动添加。手动添加水印的方法效率低下,因此,又提出了通过后台服务器进行图像处理的方法,在用户基于业务系统上传图片之后,业务系统的前端将图片传输至后台服务器,以使服务器对图片进行处理,需要说明的是,一般的情况下服务器对图片添加水印的方法主要针对批量图片处理的场景。
然而,服务器批量处理图片会导致占用较多的服务器资源,且,无法实现实时性地反馈添加水印图片的目的。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少服务器资源利用率,实时对用户上传图片添加水印的图像处理方法、装置、计算机设备和存储介质。
第一方面,提供一种图像处理方法,该方法包括:
获取待处理图像;
获取水印图像的每个像素点的各颜色通道的像素值;水印图像为对原始水印图像进行图像预处理之后得到的图像;
根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
在其中一个可选地实施例中,对原始水印图像进行图像预处理,包括:
获取原始水印图像的尺寸;
根据原始水印图像的尺寸,创建与原始水印图像的尺寸一致的第一画布;
将原始水印图像添加至第一画布中,得到候选水印图像;
根据预设的图像处理方法,对候选水印图像进行像素处理,得到水印图像。
在其中一个可选地实施例中,根据预设的图像处理方法,对候选水印图像进行像素处理,得到水印图像,包括:
获取候选水印图像中每一个像素点的各个颜色通道的像素值;颜色通道包括红色通道、绿色通道、蓝色通道和透明通道;
根据候选水印图像中各像素点的各个颜色通道的像素值,对候选水印图像中各像素点进行灰度处理,得到灰度处理之后的水印图像;
对灰度处理之后的水印图像中各个像素点进行透明化处理,得到水印图像。
在其中一个可选地实施例中,根据候选水印图像中各像素点的各个颜色通道的像素值,对候选水印图像中各像素点进行灰度处理,得到灰度处理之后的水印图像,包括:
计算各像素点的每一个颜色通道的像素值与其任意一个相邻像素点的对应颜色通道的像素值的差值;
将各像素点的颜色通道对应的差值与预设灰度阈值之和的绝对值,确定为各像素点的各颜色通道的中间值;
将各像素点的各颜色通道的中间值进行平均加权计算,得到各像素点的目标像素值,以生成灰度处理之后的水印图像。
在其中一个可选地实施例中,对灰度处理之后的水印图像中各个像素点进行透明化处理,得到水印图像,包括:
将灰度处理之后的水印图像中各像素点的各颜色通道的像素值与预设的灰度阈值进行对比,根据对比结果确定各像素点的各颜色通道的更新值和各像素点的透明度值;
根据各像素点的各颜色通道的更新值和各像素点的透明度值,生成水印图像。
在其中一个可选地实施例中,根据对比结果确定各像素点的各颜色通道的更新值和各像素点的透明度值,包括以下几种情况:
若灰度处理之后的水印图像中的像素点的颜色通道的像素值小于或等于灰度阈值,则确定像素点的颜色通道的像素值为0;
若像素点的颜色通道的像素值大于灰度阈值,则确定像素点的颜色通道的像素值保持不变;
若像素点存在至少一个颜色通道的像素值为0,则确定像素点的透明度值为0;
若像素点所有颜色通道的像素值均不为0,则确定像素点的透明度值保持不变。
在其中一个可选地实施例中,在获取待处理图像之后,该方法还包括:
创建第二画布;
根据预设的绘制规则,将待处理图像添加至第二画布中,得到第三画布;
根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像,包括:
根据水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像。
在其中一个可选地实施例中,预设的水印处理方法包括水印加密隐藏方法;根据水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像,包括:
根据待处理图像中每一个像素点的索引,确定多个目标像素点;
获取水印图像中各个像素点的各个颜色通道的像素值;
根据水印图像中各个像素点的各个颜色通道的像素值,更新目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像。
在其中一个可选地实施例中,根据水印图像中各个像素点的各个颜色通道的像素值,更新目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像,包括:
根据目标像素点的索引顺序和预设的颜色通道的顺序,依次将水印图像中每一个像素点的每一个颜色通道的像素值,更新至各目标像素点的透明通道的像素值;颜色通道的顺序为红色通道、绿色通道、蓝色通道和透明通道;
根据更新后的目标像素点的透明通道的像素值、目标像素点的其他颜色通道的像素值、待处理图像中其他像素点的各个颜色通道的像素值,生成水印加密隐藏处理之后的目标图像。
在其中一个可选地实施例中,该方法还包括:
确定水印图像中透明通道的像素值为0的像素点,作为透明点;
根据各透明点的索引,判断是否存在多个连续的透明点;
根据判断结果和预设的水印压缩方法,更新目标像素点的透明通道的像素值,得到水印压缩之后的目标图像。
在其中一个可选地实施例中,根据判断结果和预设的水印压缩方法,更新目标像素点的透明通道的像素值,得到目标图像,包括:
若判断结果为存在多个连续的透明点,则将预设的第一值作为目标像素点的透明通道的像素值,获取多个连续透明点中最后一个透明点的索引,将最后一个透明点的索引作为目标像素点的下一个相邻像素点的透明通道的像素值;
若判断结果为不存在多个连续的透明点,则将预设的第二值作为目标像素点的透明通道的像素值;
根据待处理图像中目标像素点和其他像素点更新后的透明通道的像素值,得到水印压缩之后的目标图像。
第二方面,提供一种图像处理装置,该装置包括:
第一获取模块,用于获取待处理图像;
第二获取模块,用于获取水印图像的每个像素点的各颜色通道的像素值;水印图像为对原始水印图像进行图像预处理之后得到的图像;
处理模块,用于根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
第三方面,提供一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一所述的方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一所述的方法。
上述图像处理方法、装置、计算机设备和存储介质,计算机设备获取待处理图像,并获取水印图像的每个像素点的各颜色通道的像素值,根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。其中,水印图像为对原始水印图像进行图像预处理之后得到的图像。在本方法中,计算机设备可以直接对获取到的待处理图像进行水印添加,不需要延时批量传输至服务器进行待处理图像的水印添加,节省了服务器的传输资源、计算资源以及存储资源,并且,水印图像为经过预处理之后的图像,可以适应于不同业务场景,使得水印图像更加个性化、定制化,且进一步提高了添加水印之后的目标图像的安全性。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中图像处理方法的流程示意图;
图3为另一个实施例中图像处理方法中对原始水印图像进行图像预处理的流程示意图;
图4为另一个实施例中图像处理方法中对候选水印图像进行像素处理的流程示意图;
图5为另一个实施例中图像处理方法中对候选水印图像中各像素点进行灰度处理的流程示意图;
图6为另一个实施例中图像处理方法中灰度处理之后的水印图像中各个像素点进行透明化处理的流程示意图;
图7为另一个实施例中图像处理方法的流程示意图;
图8为另一个实施例中图像处理方法中得到目标图像的流程示意图;
图9为另一个实施例中图像处理方法中得到水印加密隐藏处理之后的目标图像的流程示意图;
图10为另一个实施例中图像处理方法的流程示意图;
图11为另一个实施例中图像处理方法的流程示意图;
图12为一个实施例中图像处理装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图像处理方法,可以应用于不同类型、不同场景的业务系统中,例如,针对业务系统中上传的图像进行水印添加处理,该业务系统可以为任意一种系统。在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端也可以为服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请图2-图11实施例提供的图像处理方法,其执行主体为计算机设备,也可以是图像处理装置,该图像处理装置可以通过软件、硬件或者软硬件结合的方式成为计算机设备的部分或全部。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
在一个实施例中,如图2所示,提供了一种图像处理方法,涉及的是计算机设备获取待处理图像,并获取水印图像的每个像素点的各颜色通道的像素值,根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像的过程,包括以下步骤:
S201、获取待处理图像。
其中,待处理图像指的是需要添加水印的图像。在业务系统的场景下,该待处理图像可以为用户基于客户端通过业务系统上传的图像;也可以为第三方平台转发的图像,或者,也可以为计算机设备从数据库中获取的图像,例如,在用户登录上传的场景下,待处理图像可以为用户上传的头像、身份证等用于表示个人资料的图像;在涉及到具体业务场景下,例如,涉及到保险理赔场景,待处理图像可以为管理员或用户上传的用户投保单、发票、病历、报销单等资料图像;涉及到保险理赔、业务系统内部管理的场景下时,待处理图像还可以为回执单、保险单、理赔单、查验资料等图像,本实施例对此不做限定。
在本实施例中,若待处理图像为用户上传的图像时,可选地,计算机设备可以在业务系统的web页面设置监听事件,在监听到用户触发上传图像操作时,获取该待处理图像。可选地,计算机设备可以获取该待处理图像的尺寸和各个像素点的颜色信息,颜色信息包括各个像素点的不同颜色通道的像素值,其中颜色通道包括红色通道、绿色通道、蓝色通道、以及透明通道。
S202、获取水印图像的每个像素点的各颜色通道的像素值。
其中,水印图像为对原始水印图像进行图像预处理之后得到的图像。水印图像的每个像素点的各颜色通道与上述201中描述的待处理图像的颜色通道一致,包括红色通道、绿色通道、蓝色通道、以及透明通道,计算机设备获取水印图像的每个像素点的各颜色通道的像素值,可以通过常规的图像处理方法来获取,或者,计算机设备还可以通过预设的getImageData方法来获取水印图像的每个像素点的各颜色通道的像素值,本实施例对此不做限定。
在本实施例中,可选地,水印图像为计算机设备对原始水印图像进行图像预处理得到的图像,其中预处理可以为对原始水印图像进行像素值的灰度处理、透明化处理、色阶调整、或者其他像素处理。对原始水印图像进行图像预处理,目的在于得到更满足用户需求、安全性更高的水印图像。
S203、根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
在本实施例中,在获取到水印图像的各个像素点的各颜色通道的像素值之后,根据预设的水印添加方法,将水印图像添加至待处理图像中,得到添加了水印之后的目标图像,其中,在待处理图像中添加水印图像的方法包括直接合并待处理图像和水印图像的图层,得到目标图像;为了进一步增加水印图像的安全,计算机设备还可以对水印图像进行水印隐藏处理,隐藏式地将水印图像添加至待处理图像中,得到目标图像,其中,计算机设备可以通过还原目标图像中的水印图像确定是否存在完整的水印图像,或目标图像是否遭到非法修改。或者,计算机设备还可以对水印图像进行模糊处理、尺寸大小调节处理、位置调节处理等,实现对水印图像的灵活调整,从而得到优化的添加了水印的目标图像。
上述图像处理方法中,计算机设备获取待处理图像,并获取水印图像的每个像素点的各颜色通道的像素值,根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。其中,水印图像为对原始水印图像进行图像预处理之后得到的图像。在本方法中,计算机设备可以直接对获取到的待处理图像进行水印添加,不需要延时批量传输至服务器进行待处理图像的水印添加,节省了服务器的传输资源、计算资源以及存储资源,并且,水印图像为经过预处理之后的图像,可以适应于不同业务场景,使得水印图像更加个性化、定制化,且进一步提高了添加水印之后的目标图像的安全性。
计算机设备可以对任意一种原始水印图像进行图像预处理,例如,对原始水印图像进行像素值的处理,达到某种效果,例如,水印图像呈现钢印化效果;或者,水印图像呈现其他定制化效果,在其中一个可选地实施例中,如图3所示,对原始水印图像进行图像预处理,包括:
S301、获取原始水印图像的尺寸。
其中,原始水印图像可以为任意一种图像;可选地,计算机设备可以对原始水印图像的大小进行限定,例如,计算机设备获取满足尺寸大小的原始水印图像,同时,计算机设备还可以确定原始水印图像的实际尺寸。
S302、根据原始水印图像的尺寸,创建与原始水印图像的尺寸一致的第一画布。
在本实施例中,计算机设备通过业务系统所在的项目脚本中进行原始水印图像的预处理。示例地,在业务系统的web网页的初始化阶段中,创建第一画布canvas元素来处理原始水印图像,记录下该元素的上下文对象context2d对象,在插件内部存储为一个canvasTP对象;同时,在web网页中创建一个image对象,存储为logoImage对象,并在image对象中加载原始水印图像,当监听到原始水印图像加载完成后,获取原始水印图像的宽度和高度,并将该宽度和高度赋值给canvasTP对象,使得第一画布的尺寸于原始水印图像的尺寸一致。
S303、将原始水印图像添加至第一画布中,得到候选水印图像。
在本实施例中,通过canvasTP对象的drawImage方法把原始水印图像对象即logoImage绘画到第一画布canvasTP元素上,得到候选水印图像,其中,绘画区域大小与原始水印图像大小保持一致。
S304、根据预设的图像处理方法,对候选水印图像进行像素处理,得到水印图像。
在本实施例中,在得到候选水印图像之后,可选地,计算机设备可以通过canvasTP元素的getImageData方法获取候选水印图像的像素值,并对候选水印图像的像素值进行像素处理,得到水印图像。例如,根据候选水印图像的像素值,进行原始水印图像的灰度处理、透明化处理、模糊处理、或者其他自定义水印图像处理,从而达到符合用户需求的呈现理想效果的水印图像。
在本实施例中,计算机设备可以针对原始水印图像的像素值进行像素处理,使得原始水印图像最终呈现理想化的效果,在对待处理图像进行水印添加之后,实现水印的独特性和安全性。
可选地,如图4所示,根据预设的图像处理方法,对候选水印图像进行像素处理,得到水印图像,包括:
S401、获取候选水印图像中每一个像素点的各个颜色通道的像素值;颜色通道包括红色通道、绿色通道、蓝色通道和透明通道。
在本实施例中,获取候选水印图像中每一个像素点的各个颜色通道的像素值,例如,第一个像素点的红色通道R的像素值为R1、第一个像素点的绿色通道G的像素值为G1、第一个像素点的蓝色通道B的像素值为B1、第一个像素点的透明通道A的像素值为A1。可选地,计算机设备获取候选水印图像中所有像素点的各个颜色通道的像素值,得到一个数组对象,数组对象中,每四个值(R、G、B、A)作为一个像素点的颜色信息。
S402、根据候选水印图像中各像素点的各个颜色通道的像素值,对候选水印图像中各像素点进行灰度处理,得到灰度处理之后的水印图像。
在本实施例中,计算机设备通过循环来读取数组对象中的像素值,由于一个像素点对应4个像素值,这里循环间隔长度设定为4,也即,计算机设备每次处理一个像素点,根据各个像素点的RGBA颜色信息进行灰度处理,得到灰度处理之后的水印图像。
可选地,在一个实施例中,如图5所示,进行灰度处理包括:
S501、计算各像素点的每一个颜色通道的像素值与其任意一个相邻像素点的对应颜色通道的像素值的差值。
在本实施例中,计算机设备通过相邻的像素点来计算当前像素点的各个颜色通道的像素值对应的差值。可选地,计算机设备可以根据候选水印图像中所有像素点的各个颜色通道的像素值生成数组,从数组中依次获取像素点的各个颜色通道的像素值,计算该像素点与其相邻的下一个像素点的对应颜色通道的像素值的差值。例如,获取像素点1的R通道的像素值为R1,获取相邻的下一个像素点2的R通道的像素值为R2,计算R1与R2的差值;其他颜色通道与R通道类似。
S502、将各像素点的颜色通道对应的差值与预设灰度阈值之和的绝对值,确定为各像素点的各颜色通道的中间值。
在本实施例中,计算机设备在计算得到像素点1的R通道的像素值与像素点2的R通道的像素值的差值之后,通过调用math.abs函数,获取math.abs(R1- R2+灰度阈值)的值,作为像素点1的R通道的中间值r,其中,灰度阈值可以为约定的任意一个值,例如128。其他颜色通道类似的计算得到各个像素点G通道的中间值g和B通道的中间值b。
S503、将各像素点的各颜色通道的中间值进行平均加权计算,得到各像素点的目标像素值,以生成灰度处理之后的水印图像。
在本实施例中,计算机设备将各个像素点计算得到的R通道的中间值、G通道的中间值、以及B通道的中间值进行平均加权计算,得到各像素点的目标像素值,例如,目标像素值=r*w1+g*w2+b*w3,其中,w1、w2、w3为不同颜色通道对应的权重值,w1、w2、w3可以相等,也可以不相等,根据不同的呈现效果,设定不同的权重值,例如,这里w1、w2、w3分别可以为0.333。
S403、对灰度处理之后的水印图像中各个像素点进行透明化处理,得到水印图像。
在本实施例中,计算机设备根据灰度处理之后的水印图像进行透明化处理,使水印图像达到“钢印”化效果。
可选地,如图6所示,进行透明化处理得到水印图像,包括:
S601、将灰度处理之后的水印图像中各像素点的各颜色通道的像素值与预设的灰度阈值进行对比,根据对比结果确定各像素点的各颜色通道的更新值和各像素点的透明度值。
其中,灰度阈值与上述步骤502中的灰度阈值一致,这里设定为128。计算机设备根据灰度阈值对各个像素点进行透明化处理,将灰度处理之后的水印图像中各像素点的各颜色通道的像素值与预设的灰度阈值进行对比,来确定各像素点的各个颜色通道的最终值。
可选地,根据对比结果确定各像素点的各颜色通道的更新值和各像素点的透明度值,包括以下几种情况:
若灰度处理之后的水印图像中的像素点的颜色通道的像素值小于或等于灰度阈值,则确定像素点的颜色通道的像素值为0;
若像素点的颜色通道的像素值大于灰度阈值,则确定像素点的颜色通道的像素值保持不变;
若像素点存在至少一个颜色通道的像素值为0,则确定像素点的透明度值为0;
若像素点所有颜色通道的像素值均不为0,则确定像素点的透明度值保持不变。
在本实施例中,若计算机设备确定当前像素点的R通道的像素值小于或等于灰度阈值,则确定当前像素点的R通道的像素值为0;否则,确定当前像素点的R通道的像素值保持不变,G通道、B通道的像素值的判断方法类似;在得到当前像素点的R通道、G通道、B通道的像素值之后,根据R通道、G通道、B通道的像素值确定当前像素点的透明通道的透明度值,其中,当计算机设备确定当前像素点的R通道、G通道、B通道中至少一个通道的像素值为0时,确定当前像素点的透明通道的透明度值为0,否则,当前像素点透明通道的透明度值保持不变。
S602、根据各像素点的各颜色通道的更新值和各像素点的透明度值,生成水印图像。
在本实施例中,经过灰度处理和透明化处理,计算机设备得到水印图像中各个像素点的各个颜色通道更新后的像素值和透明通道更新后的透明度值,将各个像素点的各个颜色通道更新后的像素值和透明通道更新后的透明度值,覆盖到原始水印图像中的各个像素点中,得到经过预处理之后的水印图像。
在本实施例中,计算机设备对原始水印图像进行灰度处理和透明化处理,使得水印图像具有定制化的呈现效果,更加独特,在对待处理图像进行水印添加之后,使得添加水印之后的图像更独特,进一步地也增加了添加水印之后的图像的安全性。
计算机设备对待处理图像添加水印图像的过程中,在其中一个可选地实施例中,如图7所示,在获取待处理图像之后,该方法还包括:
S701、创建第二画布。
在本实施例中,可选地,计算机设备可以在业务系统对应的web页面设置监听脚本,在监听到用户上传待处理图像之后,或者获取到第三方发送的待处理图像之后,与创建第一画布类似地,在业务系统对应的项目脚本的web网页的初始化阶段中,创建第二画布canvas元素,记录下该元素的上下文对象context2d对象,并在插件内部引用了一个canvas对象。
S702、根据预设的绘制规则,将待处理图像添加至第二画布中,得到第三画布。
在本实施例中,计算机设备把待处理图像加载至创建好的第二画布canvas对象中,得到包括待处理图像在内的第二画布,也即得到第三画布。可选地,计算机设备通过调用第二画布canvas对象的drawImage方法把待处理图像加载到第二画布canvas中的,其中,drawImage方法的传入参数包括待处理图像、待处理图像的开始剪裁的起点、待处理图像的初始宽度和初始高度、第二画布左上角的坐标点、以及待处理图像的目标宽度和目标高度。其中,待处理图像的目标宽度和目标高度与第二画布的宽度和高度一致。
S703、根据水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像。
在本实施例中,计算机设备可以直接将水印图像加载至第三画布中,得到目标图像,其中,加载方式包括平铺写入、延伸写入、居中写入等;可选地,计算机设备还可以根据水印图像的各个像素点的像素值和预设的水印处理方法,对待处理图像进行水印添加,得到目标图像。其中,预设的水印处理方法包括水印隐藏处理、水印压缩处理、水印模糊处理、水印加深处理等。
在预设的水印处理方法为水印加密隐藏方法的情况下,如图8所示,根据水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像,包括:
S801、根据待处理图像中每一个像素点的索引,确定多个目标像素点。
其中,为了完整地将水印图像加载至待处理图像中,这里限定待处理图像的像素大于水印图像像素的4倍,例如,在用户进行待处理图像上传时,不响应不满足待处理图像的像素大于水印图像像素的4倍条件的图像,可选地,还可以输出上传图像不满足图像要求的提示信息,以使用户重新上传。
在本实施例中,计算机设备获取待处理图像的各个像素点的信息,例如,通过getImageData方法获取待处理图像的所有颜色通道的像素信息,得到待处理图像的各个像素点对应的数组,该数组中每4个值便是待处理图像的一个像素点的RGBA信息,可选地,计算机设备可以通过该数组,确定待处理图像中各个像素点的索引,并确定目标索引。这里,可选地,目标索引可以为偶数位的像素点的索引;也可以为奇数位的像素点的索引;或者是其他约定的满足筛选条件的像素点的索引。
S802、获取水印图像中各个像素点的各个颜色通道的像素值。
在本实施例中,计算机设备同样地,可以调用getImageData方法获取水印图像中各个像素点的各个颜色通道的像素值,并根据各个像素点的各个颜色通道的像素值生成对应的数组。
S803、根据水印图像中各个像素点的各个颜色通道的像素值,更新目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像。
在本实施例中,各个像素点的透明通道的透明度值在0到255之间变化时,人的肉眼是无法分辨的,利用此原理,我们便可以把水印图像中各个像素点的像素值存到待处理图像的透明通道中,得到水印加密隐藏处理之后的目标图像。
可选地,如图9所示,根据水印图像中各个像素点的各个颜色通道的像素值,更新目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像,包括:
S901、根据目标像素点的索引顺序和预设的颜色通道的顺序,依次将水印图像中每一个像素点的每一个颜色通道的像素值,更新至各目标像素点的透明通道的像素值;颜色通道的顺序为红色通道、绿色通道、蓝色通道和透明通道。
在本实施例中,计算机设备根据待处理图像各个像素点的颜色信息对应的数组、水印图像中各个像素点的颜色通道的像素值,更新至各目标像素点的透明通道的像素值。可选地,将待处理图像中索引为偶数位的像素点作为目标像素点,在这种前提下,根据目标像素点的索引顺序,例如,将水印图像中第一个像素点的各个颜色通道的像素值更新目标像素点的透明通道的透明度值。例如,将水印图像中第一个像素点的R通道的像素值R1,存储至第一个目标像素点的透明通道a中,作为a1值;将水印图像中第一个像素点的G通道的像素值G1,存储至第二个目标像素点的透明通道a中,作为a2值;将水印图像中第一个像素点的B通道的像素值B1,存储至第三个目标像素点的透明通道a中,作为a3值,按照目标像素点的索引顺序和R、G、B通道更新顺序,依次执行该操作,直到水印图像中的所有像素点信息都写入目标像素点的透明通道的中,也即,直到水印图像中的所有像素点的各个颜色通道的像素值更新为目标像素点的透明通道的透明度值为止。
S902、根据更新后的目标像素点的透明通道的像素值、目标像素点的其他颜色通道的像素值、待处理图像中其他像素点的各个颜色通道的像素值,生成水印加密隐藏处理之后的目标图像。
在本实施例中,计算机设备根据步骤901更新后的目标像素点的透明通道的像素值、目标像素点的其他颜色通道的像素值、待处理图像中其他像素点的各个颜色通道的像素值,生成水印加密隐藏处理之后的目标图像,经过水印加密隐藏处理之后的目标图像中,水印图像的像素信息都写入到目标图像的像素的透明通道中时,在查看目标图像时,并不会看到水印图像,也就达到了水印隐藏的效果。
那么对应地,计算机设备还可以对经过水印隐藏的目标图像进行水印还原操作,以确定目标图像是否遭到非法修改或破坏。
在一个实施例中,计算机设备可以从目标图像中还原隐藏的水印图像,其还原过程与步骤901相似,对目标图像的像素信息进行轮循,获取目标像素点的透明通道的值,并存入到目标数组中,当数组的长度等于水印图像的像素数组的长度时,停止轮循,并根据目标数组中的像素点的颜色信息,生成候选图像,可选地,计算机设备可以通过canvas元素的setImageData方法将目标数组的像素点的颜色信息写入到canvas中,再通过canvas的toDataURL方法获取到水印图像的文件流,再把流赋值到image对象中来完成还原水印图像的操作,若可以完成该还原操作,得到水印图像,则确定目标图像未被修改;若无法完成还原操作,无法得到水印图像,则确定目标图像已经遭到非法修改。
在本实施例中,根据水印隐藏方法对待处理图像隐藏添加水印,增加了添加了目标图像的安全性。根据水印还原方法对目标图像进行水印还原,还可以进一步确定目标图像是否遭到修改。
在对水印图像进行灰度处理和透明化处理之后,水印图像中存在许多像素点都是透明的,也就是有像素点的透明通道的值都是0,当实现钢化水印隐藏功能时,并不需要把每个透明点都写到用户图片的像素点的透明通道上,为了进一步优化水印处理操作,可以对水印图像进行水印压缩处理。在其中一个可选地实施例中,如图10所示,该方法还包括:
S1001、确定水印图像中透明通道的像素值为0的像素点,作为透明点。
在本实施例中,计算机设备根据水印图像中各个像素点的透明通道的值,确定像素值为0的透明点, 可选地,计算机设备还可以通过新建一个数组pxAlphaIndex,来存储水印图像中透明点的索引值,例如,计算机设备可以通过canvas元素的getImageData方法来获取到水印图像的所有像素点信息,判断当前位置的像素点的透明度是否为0,如果为0,则把当前的像素点索引位置值存入到pxAlphaIndex数组中。
S1002、根据各透明点的索引,判断是否存在多个连续的透明点。
在本实施例中,计算机设备根据各透明点的索引判断是否存在多个连续的透明点,可选地,计算机设备将当前透明点的索引与pxAlphaIndex数组中当前透明点的相邻下一个透明点的索引进行比较,如果比较结果包括两个索引的差值,若差值等于1则表示与当前透明点的相邻的下一个透明点连续,使用递归比较,直到差值不为1结束,此时,计算机设备获取连续透明点中最后一个透明点的索引;若差值不为1,则说明与当前透明点的相邻的下一个透明点不连续。
S1003、根据判断结果和预设的水印压缩方法,更新目标像素点的透明通道的像素值,得到水印压缩之后的目标图像。
在本实施例中,计算机设备根据判断结果,来更新目标像素点的透明通道的像素值,从而实现对水印压缩的处理。
可选地,根据判断结果和预设的水印压缩方法,更新目标像素点的透明通道的像素值,得到目标图像,包括:
若判断结果为存在多个连续的透明点,则将预设的第一值作为目标像素点的透明通道的像素值,获取多个连续透明点中最后一个透明点的索引,将最后一个透明点的索引作为目标像素点的下一个相邻像素点的透明通道的像素值。
在本实施例中, 计算机设备在确定存在多个连续的透明点时,将预设的第一值作为目标像素点的透明通道的像素值,示例地,第一值可以为126,或者其他约定的值。同时,计算机设备根据多个连续的透明点,确定最后一个透明点的索引,将该索引写入至目标像素点的下一个相邻像素点的透明通道中。
若判断结果为不存在多个连续的透明点,则将预设的第二值作为目标像素点的透明通道的像素值。
在本实施例中,计算机设备在确定不存在多个连续的透明点,将预设的第二值作为目标像素点的透明通道的像素值,其中,第二值可以为127,或者其他约定的值。
根据待处理图像中目标像素点和其他像素点更新后的透明通道的像素值,得到水印压缩之后的目标图像。
在本实施例中,计算机设备经过上述水印压缩处理,根据待处理图像中目标像素点和其他像素点更新后的透明通道的像素值,得到水印压缩之后的目标图像。
对应地,计算机设备还可以对经过水印压缩的目标图像进行水印还原操作,以确定目标图像是否遭到非法修改或破坏。
在一个实施例中,计算机设备可以新建一个像素存储数组pxArr,还原时水印像素数据都存储到这个数组中。通过canvas对象的getImageData方法获取目标图像的所有像素信息,并通过轮循这些目标图像的中所有像素点的像素信息,获取各个像素点的透明通道的透明度值,若透明度值为127,则表示当前像素点为透明像素,水印的当前位置的各通道值为0,并把各通道的值都存入pxArr;若透明通道的透明度值为126,则表示当前像素点为透明像素,并表示连续性的透明点,此时,获取相邻的下一个像素点,也即奇数位的像素点的透明通道的值,该值表示连续透明点中最后一个像素点的索引,根据索引,确定多个连续透明点的索引,将多个连续透明点各像素通道值存入pxArr数组中。若透明通道的透明度值为其它值时,则依次写入水印对应位置像素点的RGBA通道,并把各通道的值都存入pxArr。计算机设备通过canvas对象的setImageData方法把pxArr数组数据写入到canvas中,再通canvas对象的toDataURL方法得到图片文件流,最后把图片文件流赋值给image元素的src属性中就可以还原水印图像。根据还原之后的水印图像,确定水印图像是否被修改,例如,如果水印图像的像素有缺失,或者有多余的像素存在,则说明水印图像有被更改过。
在本实施例中,根据水印压缩方法对待处理图像中的水印图像进行压缩添加处理,进一步增加了添加了目标图像的安全性。根据水印还原方法对目标图像进行水印还原,还可以进一步确定目标图像是否遭到修改。
为了更好的说明上述方法,如图11所示,本实施例提供一种图像处理方法,具体包括:
S101、获取原始水印图像的尺寸;
S102、根据原始水印图像的尺寸,创建与原始水印图像的尺寸一致的第一画布;
S103、将原始水印图像添加至第一画布中,得到候选水印图像;
S104、获取候选水印图像中每一个像素点的各个颜色通道的像素值;颜色通道包括红色通道、绿色通道、蓝色通道和透明通道;
S105、根据候选水印图像中各像素点的各个颜色通道的像素值,对候选水印图像中各像素点进行灰度处理,得到灰度处理之后的水印图像;
S106、对灰度处理之后的水印图像中各个像素点进行透明化处理,得到水印图像;
S107、获取待处理图像;
S108、创建第二画布;
S109、根据预设的绘制规则,将待处理图像添加至第二画布中,得到第三画布;
S110、根据预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像;所述预设的水印处理方法包括水印加密隐藏方法、水印压缩方法。
在本实施例中,计算机设备可以直接对获取到的待处理图像进行水印添加,不需要延时批量传输至服务器进行待处理图像的水印添加,节省了服务器的传输资源、计算资源以及存储资源,并且,水印图像为经过预处理之后的图像,可以适应于不同业务场景,使得水印图像更加个性化、定制化,且进一步提高了添加水印之后的目标图像的安全性。
上述实施例提供的图像处理方法,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
应该理解的是,虽然图2-11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种图像处理装置,包括:
第一获取模块01,用于获取待处理图像;
第二获取模块02,用于获取水印图像的每个像素点的各颜色通道的像素值;水印图像为对原始水印图像进行图像预处理之后得到的图像;
处理模块03,用于根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
在其中一个可选地实施例中,处理模块03,还用于获取原始水印图像的尺寸;根据原始水印图像的尺寸,创建与原始水印图像的尺寸一致的第一画布;将原始水印图像添加至第一画布中,得到候选水印图像;根据预设的图像处理方法,对候选水印图像进行像素处理,得到水印图像。
在其中一个可选地实施例中,处理模块03,用于获取候选水印图像中每一个像素点的各个颜色通道的像素值;颜色通道包括红色通道、绿色通道、蓝色通道和透明通道;根据候选水印图像中各像素点的各个颜色通道的像素值,对候选水印图像中各像素点进行灰度处理,得到灰度处理之后的水印图像;对灰度处理之后的水印图像中各个像素点进行透明化处理,得到水印图像。
在其中一个可选地实施例中,处理模块03,用于计算各像素点的每一个颜色通道的像素值与其任意一个相邻像素点的对应颜色通道的像素值的差值;将各像素点的颜色通道对应的差值与预设灰度阈值之和的绝对值,确定为各像素点的各颜色通道的中间值;将各像素点的各颜色通道的中间值进行平均加权计算,得到各像素点的目标像素值,以生成灰度处理之后的水印图像。
在其中一个可选地实施例中,处理模块03,用于将灰度处理之后的水印图像中各像素点的各颜色通道的像素值与预设的灰度阈值进行对比,根据对比结果确定各像素点的各颜色通道的更新值和各像素点的透明度值;根据各像素点的各颜色通道的更新值和各像素点的透明度值,生成水印图像。
在其中一个可选地实施例中,处理模块03,用于若灰度处理之后的水印图像中的像素点的颜色通道的像素值小于或等于灰度阈值,则确定像素点的颜色通道的像素值为0;若像素点的颜色通道的像素值大于灰度阈值,则确定像素点的颜色通道的像素值保持不变;若像素点存在至少一个颜色通道的像素值为0,则确定像素点的透明度值为0;若像素点所有颜色通道的像素值均不为0,则确定像素点的透明度值保持不变。
在其中一个可选地实施例中,处理模块03,还用于创建第二画布;根据预设的绘制规则,将待处理图像添加至第二画布中,得到第三画布;根据水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将水印图像添加至第三画布中,得到目标图像。
在其中一个可选地实施例中,预设的水印处理方法包括水印加密隐藏方法;处理模块03,还用于根据待处理图像中每一个像素点的索引,确定多个目标像素点;获取水印图像中各个像素点的各个颜色通道的像素值;根据水印图像中各个像素点的各个颜色通道的像素值,更新目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像。
在其中一个可选地实施例中,处理模块03,还用于根据目标像素点的索引顺序和预设的颜色通道的顺序,依次将水印图像中每一个像素点的每一个颜色通道的像素值,更新至各目标像素点的透明通道的像素值;颜色通道的顺序为红色通道、绿色通道、蓝色通道和透明通道;根据更新后的目标像素点的透明通道的像素值、目标像素点的其他颜色通道的像素值、待处理图像中其他像素点的各个颜色通道的像素值,生成水印加密隐藏处理之后的目标图像。
在其中一个可选地实施例中,处理模块03,还用于确定水印图像中透明通道的像素值为0的像素点,作为透明点;根据各透明点的索引,判断是否存在多个连续的透明点;根据判断结果和预设的水印压缩方法,更新目标像素点的透明通道的像素值,得到水印压缩之后的目标图像。
在其中一个可选地实施例中,处理模块03,还用于若判断结果为存在多个连续的透明点,则将预设的第一值作为目标像素点的透明通道的像素值,获取多个连续透明点中最后一个透明点的索引,将最后一个透明点的索引作为目标像素点的下一个相邻像素点的透明通道的像素值;若判断结果为不存在多个连续的透明点,则将预设的第二值作为目标像素点的透明通道的像素值;根据待处理图像中目标像素点和其他像素点更新后的透明通道的像素值,得到水印压缩之后的目标图像。
关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待处理图像;
获取水印图像的每个像素点的各颜色通道的像素值;水印图像为对原始水印图像进行图像预处理之后得到的图像;
根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待处理图像;
获取水印图像的每个像素点的各颜色通道的像素值;水印图像为对原始水印图像进行图像预处理之后得到的图像;
根据水印图像的每个像素点的各颜色通道的像素值对待处理图像添加水印,得到目标图像。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种图像处理方法,其特征在于,所述方法包括:
获取待处理图像;
获取水印图像的每个像素点的各颜色通道的像素值;所述水印图像为对原始水印图像进行图像预处理之后得到的图像;
根据所述水印图像的每个像素点的各颜色通道的像素值对所述待处理图像添加水印,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,所述对原始水印图像进行图像预处理,包括:
获取所述原始水印图像的尺寸;
根据所述原始水印图像的尺寸,创建与所述原始水印图像的尺寸一致的第一画布;
将所述原始水印图像添加至所述第一画布中,得到候选水印图像;
根据预设的图像处理方法,对所述候选水印图像进行像素处理,得到所述水印图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述预设的图像处理方法,对所述候选水印图像进行像素处理,得到所述水印图像,包括:
获取所述候选水印图像中每一个像素点的各个颜色通道的像素值;所述颜色通道包括红色通道、绿色通道、蓝色通道和透明通道;
根据所述候选水印图像中各所述像素点的各个颜色通道的像素值,对所述候选水印图像中各所述像素点进行灰度处理,得到灰度处理之后的水印图像;
对所述灰度处理之后的水印图像中各个像素点进行透明化处理,得到所述水印图像。
4.根据权利要求3所述的方法,其特征在于,所述根据所述候选水印图像中各所述像素点的各个颜色通道的像素值,对所述候选水印图像中各所述像素点进行灰度处理,得到灰度处理之后的水印图像,包括:
计算各所述像素点的每一个颜色通道的像素值与其任意一个相邻像素点的对应颜色通道的像素值的差值;
将各所述像素点的颜色通道对应的差值与预设灰度阈值之和的绝对值,确定为各所述像素点的各颜色通道的中间值;
将各所述像素点的各颜色通道的中间值进行平均加权计算,得到各所述像素点的目标像素值,以生成所述灰度处理之后的水印图像。
5.根据权利要求3所述的方法,其特征在于,所述对所述灰度处理之后的水印图像中各个像素点进行透明化处理,得到所述水印图像,包括:
将所述灰度处理之后的水印图像中各像素点的各颜色通道的像素值与预设的所述灰度阈值进行对比,根据对比结果确定各所述像素点的各颜色通道的更新值和各所述像素点的透明度值;
根据各所述像素点的各颜色通道的更新值和各所述像素点的透明度值,生成所述水印图像。
6.根据权利要求5所述的方法,其特征在于,所述根据对比结果确定各所述像素点的各颜色通道的更新值和各所述像素点的透明度值,包括以下几种情况:
若所述灰度处理之后的水印图像中的像素点的颜色通道的像素值小于或等于所述灰度阈值,则确定所述像素点的颜色通道的像素值为0;
若所述像素点的颜色通道的像素值大于所述灰度阈值,则确定所述像素点的颜色通道的像素值保持不变;
若所述像素点存在至少一个颜色通道的像素值为0,则确定所述像素点的透明度值为0;
若所述像素点所有颜色通道的像素值均不为0,则确定所述像素点的透明度值保持不变。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述获取待处理图像之后,所述方法还包括:
创建第二画布;
根据预设的绘制规则,将所述待处理图像添加至所述第二画布中,得到第三画布;
所述根据所述水印图像的每个像素点的各颜色通道的像素值对所述待处理图像添加水印,得到目标图像,包括:
根据所述水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将所述水印图像添加至所述第三画布中,得到所述目标图像。
8.根据权利要求7所述的方法,其特征在于,所述预设的水印处理方法包括水印加密隐藏方法;所述根据所述水印图像的每个像素点的各颜色通道的像素值和预设的水印处理方法,将所述水印图像添加至所述第三画布中,得到所述目标图像,包括:
根据所述待处理图像中每一个像素点的索引,确定多个目标像素点;
获取所述水印图像中各个像素点的各个颜色通道的像素值;
根据所述水印图像中各个像素点的各个颜色通道的像素值,更新所述目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像。
9.根据权利要求8所述的方法,其特征在于,所述根据所述水印图像中各个像素点的各个颜色通道的像素值,更新所述目标像素点中颜色通道的像素值,得到水印加密隐藏处理之后的目标图像,包括:
根据所述目标像素点的索引顺序和预设的颜色通道的顺序,依次将所述水印图像中每一个像素点的每一个颜色通道的像素值,更新至各所述目标像素点的透明通道的像素值;所述颜色通道的顺序为红色通道、绿色通道、蓝色通道和透明通道;
根据更新后的所述目标像素点的透明通道的像素值、所述目标像素点的其他颜色通道的像素值、所述待处理图像中其他像素点的各个颜色通道的像素值,生成所述水印加密隐藏处理之后的目标图像。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
确定所述水印图像中透明通道的像素值为0的像素点,作为透明点;
根据各所述透明点的索引,判断是否存在多个连续的透明点;
根据判断结果和预设的水印压缩方法,更新所述目标像素点的透明通道的像素值,得到水印压缩之后的目标图像。
11.根据权利要求10所述的方法,其特征在于,所述根据判断结果和预设的水印压缩方法,更新所述目标像素点的透明通道的像素值,得到所述目标图像,包括:
若判断结果为存在多个连续的透明点,则将预设的第一值作为目标像素点的透明通道的像素值,获取所述多个连续透明点中最后一个透明点的索引,将所述最后一个透明点的索引作为所述目标像素点的下一个相邻像素点的透明通道的像素值;
若判断结果为不存在多个连续的透明点,则将预设的第二值作为目标像素点的透明通道的像素值;
根据所述待处理图像中所述目标像素点和其他像素点更新后的透明通道的像素值,得到所述水印压缩之后的目标图像。
12.一种图像处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理图像;
第二获取模块,用于获取水印图像的每个像素点的各颜色通道的像素值;所述水印图像为对原始水印图像进行图像预处理之后得到的图像;
处理模块,用于根据所述水印图像的每个像素点的各颜色通道的像素值对所述待处理图像添加水印,得到目标图像。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229941.7A CN114418825B (zh) | 2022-03-10 | 2022-03-10 | 图像处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229941.7A CN114418825B (zh) | 2022-03-10 | 2022-03-10 | 图像处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114418825A true CN114418825A (zh) | 2022-04-29 |
CN114418825B CN114418825B (zh) | 2022-07-22 |
Family
ID=81264293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210229941.7A Active CN114418825B (zh) | 2022-03-10 | 2022-03-10 | 图像处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114418825B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863143A (zh) * | 2022-05-20 | 2022-08-05 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN116611986A (zh) * | 2023-07-19 | 2023-08-18 | 深圳奥联信息安全技术有限公司 | 一种数据加密方法、系统、计算机设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1912919A (zh) * | 2005-08-11 | 2007-02-14 | 兄弟工业株式会社 | 信息处理装置 |
US20080273741A1 (en) * | 2004-02-17 | 2008-11-06 | Ryousuke Fujii | Electronic Watermark Embedding Method, Electronic Watermark Detecting Method, Electronic Watermark Detecting Apparatus and Program |
CN101882059A (zh) * | 2009-05-05 | 2010-11-10 | 山东新北洋信息技术股份有限公司 | 一种水印打印控制处理方法及装置 |
US20180270388A1 (en) * | 2017-03-14 | 2018-09-20 | Google Inc. | Semi-Transparent Embedded Watermarks |
US20190045078A1 (en) * | 2016-01-27 | 2019-02-07 | Rakuten, Inc. | Image processing device, image processing method, and program |
CN109345439A (zh) * | 2018-09-11 | 2019-02-15 | 北京京东尚科信息技术有限公司 | 图片保护方法、装置、介质及电子设备 |
CN110084735A (zh) * | 2019-04-26 | 2019-08-02 | 新华三云计算技术有限公司 | 水印添加方法、解析方法、装置、电子设备及存储介质 |
CN112040336A (zh) * | 2019-06-03 | 2020-12-04 | 中兴通讯股份有限公司 | 视频水印添加、提取的方法、装置和设备 |
CN112288618A (zh) * | 2020-12-22 | 2021-01-29 | 北京联想协同科技有限公司 | 一种图片处理方法及装置 |
CN113434829A (zh) * | 2021-08-26 | 2021-09-24 | 中运科技股份有限公司 | 数字盲水印嵌入方法、检测方法、存储介质、计算机设备 |
CN113436052A (zh) * | 2021-06-23 | 2021-09-24 | 网易(杭州)网络有限公司 | 图像处理方法、装置和电子设备 |
CN113962838A (zh) * | 2020-07-21 | 2022-01-21 | 阿里巴巴集团控股有限公司 | 水印图像嵌入/增强方法、装置及计算机系统 |
-
2022
- 2022-03-10 CN CN202210229941.7A patent/CN114418825B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080273741A1 (en) * | 2004-02-17 | 2008-11-06 | Ryousuke Fujii | Electronic Watermark Embedding Method, Electronic Watermark Detecting Method, Electronic Watermark Detecting Apparatus and Program |
CN1912919A (zh) * | 2005-08-11 | 2007-02-14 | 兄弟工业株式会社 | 信息处理装置 |
CN101882059A (zh) * | 2009-05-05 | 2010-11-10 | 山东新北洋信息技术股份有限公司 | 一种水印打印控制处理方法及装置 |
US20190045078A1 (en) * | 2016-01-27 | 2019-02-07 | Rakuten, Inc. | Image processing device, image processing method, and program |
US20180270388A1 (en) * | 2017-03-14 | 2018-09-20 | Google Inc. | Semi-Transparent Embedded Watermarks |
CN109345439A (zh) * | 2018-09-11 | 2019-02-15 | 北京京东尚科信息技术有限公司 | 图片保护方法、装置、介质及电子设备 |
CN110084735A (zh) * | 2019-04-26 | 2019-08-02 | 新华三云计算技术有限公司 | 水印添加方法、解析方法、装置、电子设备及存储介质 |
CN112040336A (zh) * | 2019-06-03 | 2020-12-04 | 中兴通讯股份有限公司 | 视频水印添加、提取的方法、装置和设备 |
CN113962838A (zh) * | 2020-07-21 | 2022-01-21 | 阿里巴巴集团控股有限公司 | 水印图像嵌入/增强方法、装置及计算机系统 |
CN112288618A (zh) * | 2020-12-22 | 2021-01-29 | 北京联想协同科技有限公司 | 一种图片处理方法及装置 |
CN113436052A (zh) * | 2021-06-23 | 2021-09-24 | 网易(杭州)网络有限公司 | 图像处理方法、装置和电子设备 |
CN113434829A (zh) * | 2021-08-26 | 2021-09-24 | 中运科技股份有限公司 | 数字盲水印嵌入方法、检测方法、存储介质、计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863143A (zh) * | 2022-05-20 | 2022-08-05 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN116611986A (zh) * | 2023-07-19 | 2023-08-18 | 深圳奥联信息安全技术有限公司 | 一种数据加密方法、系统、计算机设备及存储介质 |
CN116611986B (zh) * | 2023-07-19 | 2024-01-02 | 深圳奥联信息安全技术有限公司 | 一种数据加密方法、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114418825B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114418825B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
JP3937841B2 (ja) | 情報処理装置及びその制御方法 | |
CN110267115B (zh) | 一种视频安全控制方法、装置、设备及介质 | |
US10970804B2 (en) | Image processing device and image processing method for selecting regions based on gradiation for embedding a watermark | |
US20110194727A1 (en) | Image data processig systems for hiding secret information and data hiding methods using the same | |
CN112233154A (zh) | 拼接图像的色差消除方法、装置、设备和可读存储介质 | |
US11514263B2 (en) | Method and apparatus for processing image | |
CN111310134B (zh) | 屏幕水印生成方法、装置及设备 | |
CN111192352B (zh) | 地图的渲染方法、装置、计算机设备和存储介质 | |
CN110189384B (zh) | 基于Unity3D的图像压缩方法、装置、计算机设备和存储介质 | |
US20220156873A1 (en) | Image synthesis device and method for embedding watermark | |
JP6127225B1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JPWO2020049958A1 (ja) | 情報処理システム、情報処理方法、端末装置および情報処理装置 | |
CN114332556A (zh) | 训练样本筛选方法、装置、计算机设备和存储介质 | |
CN112258442A (zh) | 图像融合方法、装置、计算机设备和存储介质 | |
US10123052B2 (en) | Elimination of artifacts from lossy encoding of digital images by color channel expansion | |
CN113962838A (zh) | 水印图像嵌入/增强方法、装置及计算机系统 | |
CN114998170A (zh) | 一种基于调色板图像的可逆秘密图像分享方法和系统 | |
Brahma et al. | A reversible data hiding technique using lower magnitude error channel pair selection | |
Yang et al. | Improving visual quality of reversible data hiding by twice sorting | |
CN111866514B (zh) | 一种压缩视频、解压视频的方法和装置 | |
CN111353133A (zh) | 图像处理方法、装置和可读存储介质 | |
US7606389B2 (en) | Digital watermarking apparatus and computer-readable medium | |
Roy et al. | Reversible color image watermarking in the YCoCg-R color space | |
TWI740145B (zh) | 視訊的資訊隱藏與隱私保護方法、電子裝置、電腦程式產品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |