掌桥专利:专业的专利平台
掌桥专利
首页

一种基于openCV的图片水印自动识别处理方法及系统

文献发布时间:2023-06-19 11:26:00


一种基于openCV的图片水印自动识别处理方法及系统

技术领域

本发明涉及计算机视觉技术领域,尤其涉及一种基于openCV的图片水印自动识别处理方法及系统。

背景技术

随着公司电商业务的不断发展壮大,平台在与各供应商做erp对接时,初次需要大量对接产品信息,尤其是商品图片信息,供应商经常会上传在其它平台销售的商品图片,造成公司产品合规问题;另外公司的基础库建设,也需要批量检查图片是否有水印,需要批量去除水印,公司也尝试人工修复水印图片,但工作量巨大。

经检索,中国专利公开号为CN108109124A的专利,公开了一种基于深度学习的不定位置图片水印修复方法,其特征在于,包括以下步骤:训练数据的采集及预处理;对水印分割模型训练;对水印区域填充。本发明的优点是:机器替代人力,节约成本,解放人力;操作更加标准化,避免人工的良莠不齐;相比于简单的水印修复技术,本发明可以自动寻找水印位置。

上述专利还存在有以下不足之处:需要人工预处理海量有水印的图片,水印模板需要人工标记提取,用于模型训练,人工处理工作量巨大;算法中使用灰度和二值化处理,会损失模板像素质量造成水印清洗不干净,有印痕;正常去水印场景,很难获取无水印原图,尤其是对海量图片去水印需求,更是无法获取原图。

发明内容

基于背景技术中提出的需要人工预处理海量有水印的图片,水印模板需要人工标记提取等技术问题,本发明提出了一种基于openCV的图片水印自动识别处理方法及系统。

一种基于openCV的图片水印自动识别处理方法,包括识别处理方法,所述识别处理方法的核心步骤如下:

1)建立图片阴影运算模型,要求图片分辨率相同,格式相同,入参为两张有相同水印的图片,出参为与入参相同分辨率的矩阵。算法前置条件,首先对背景色做透明化处理,然后对图片做灰度化处理。核心算法,先对两个图片矩阵做差取绝对值,然后用255减去这个绝对值作为计算结果,深色像素不做计算,直接取颜色浅的像素的值,最终接近255值的像素区域为水印区域;正常情况下,纯色水印识别率比较高,半透明水印需要添加抖动值范围做水印框定,算法原理:借鉴动画原理,相同规格的水印信息相当于镜头上的污点,这个污点在浅背景下会更明显;

2)图片分类预处理,对待处理图片按渠道和分辨率做分类,一般情况下同一网站图片水印内容相同,位置一致,图片分辨率相同,该步骤可以在爬虫获取图片时直接做分类;

3)水印蒙版阴影提取,在同一分类下,取10张或更多有水印的图图片,随机取一张图片做操作对象,然后分别与其它图片做步骤1)运算,运算后会得到水印的蒙版阴影,关于蒙版阴影运算是否成功,需要通过参数不断调优和测试,一般通过255和抖动值范围的分布区域做判断,分布区域比较小并大于足够像素点时,判定为运算成功,否则继续取图片,做步骤1)运算;

4)通过阴影模板提取水印原图,通过阴影的覆盖区域,到尽量多的图片里提取灰度运算后最亮的像素,注意,这里保存的是RGB值,直到提取的像素值不在变化,表示提取成功;

5)通过水印原图,去除图片水印:此处去除水印的算法采用opencv的inpaint算法,其已经可以很好的去掉水印图片;

6)水印图片搜索与定位,通过水印愿图片与待判断图片做步骤1)运算,然后做蒙版区域统计,根据比中区域与有效区域做比值计算(深色区域不做比较,如:黑色区域),结果超过60%或更多表示有水印。

优选地,通过以上步骤,图片水印模板通过预分类好的图片,自动通过算法直接在待处理图片中提取,图片分类也可以通过爬虫程序自动处理;算法中使用灰度图像,进行水印定位,使用rgb值做图片水印提取,最大程度上保证水印图片像素提取的准确性,同时也保证去除水印时能够更干净不留痕迹;本方法不需要获取原始图片,和人工预处理图片,可很大程度节约人力成本,提高效率,减少机器学习运算周期。

本发明提出的一种基于openCV的图片水印自动识别处理系统,包括识别处理系统,所述识别处理系统的核心功能模块包括有:图片管理模块、任务管理模块、水印模板管理模块、算法管理模块、系统管理模块和对外服务接口管理模块。

优选地,所述图片管理模块:

批量导入图片:通过文件夹导入图片,导入时自动提取图片分辨率,验证图片格式;通过url地址批量导入图片,根据url地址自动做区域分类,其它验证,同文件导入;

导入的图片按批次记录操作日志;

图片分类管理:添加和维护图片区域,添加和维护图片分类信息,图片筛选管理,提供人工筛选和删除图片功能;

图片标注信息管理;

水印静态位置信息标注:同类图片只需标准一张即可,加标注可很大提高运算效率和准确度;

水印动态位置信息标注:如果水印位置是动态变化的,需要把所有训练图片的水印位置都标注一下,然后由程序对动态位置做切割;

任务图片浏览下载:根据任务分类和名称过滤浏览处理结果。

优选地,所述任务管理模块:

添加任务:选择处理算法和目标参数,定义任务,一般任务按算法进行分类;图片可以选择原始图片、其它任务处理后的图片,和水印模板图片;

维护任务:管理任务执行情况管理;任务执行周期管理,单次或周期执行;任务输入、输出参数管理。

优选地,所述水印模板管理模块包括有:模板阴影图片管理、图片编辑,可以对蒙版做微调,修正阴影范围、水印原图管理、图片编辑,通过调整图片,提高水印消除效果,和检测准确率。

优选地,所述算法管理模块:算法管理的是通用接口,具体功能,由注册的类实现,同一个算法可以有多个版本;且算法管理模块具体包括有:图片阴影运算模型管理、水印原图提取算法管理、水印检查算法管理、水印消除算法管理、水印蒙版阴影提取算法管理和图片背景颜色透明处理算法管理。

优选地,所述系统管理模块:系统配置参数管理、接口权限管理和系统日志管理。

优选地,所述对外服务接口管理模块:使用历史提取过的水印模板,批量比对,且对外服务接口管理模块包括有:水印检测接口和水印消除接口。

本发明中的有益效果为:

1、该基于openCV的图片水印自动识别处理方法及系统,通过本发明的实现,系统可以通过爬虫的图片数据自动提取水印信息,并实现水印清洗,当前已经实现对京东,天猫,药房网等主流电商网站的产品图片做去水印处理。由于当前系统的成功研发,替代人工实现了图片是否有水印检测,帮助供应商自动去除图片水印,节省了公司美工资源的投入,程序化操作可以避免人工审查漏洞,极大的缩短任务执行时间和节约了人力成本。随着对市面上所有运营网站产品图片水印分析和提取,算法的可靠性会不断提高。水印检索和清洗已经可以对外提供服务,为公司带来流量和收益。

2、该基于openCV的图片水印自动识别处理方法及系统,通过识别处理方法的具体步骤,图片水印模板通过预分类好的图片,自动通过算法直接在待处理图片中提取,图片分类也可以通过爬虫程序自动处理;算法中使用灰度图像,进行水印定位,使用rgb值做图片水印提取,最大程度上保证水印图片像素提取的准确性,同时也保证去除水印时能够更干净不留痕迹;本方法不需要获取原始图片,和人工预处理图片,可很大程度节约人力成本,提高效率,减少机器学习运算周期。

该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现。

附图说明

图1为本发明提出的一种基于openCV的图片水印自动识别处理方法的结构示意图;

图2为本发明提出的一种基于openCV的图片水印自动识别处理系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

参照图1,一种基于openCV的图片水印自动识别处理方法,包括识别处理方法,识别处理方法的核心步骤如下:

1)建立图片阴影运算模型,要求图片分辨率相同,格式相同,入参为两张有相同水印的图片,出参为与入参相同分辨率的矩阵。算法前置条件,首先对背景色做透明化处理,然后对图片做灰度化处理。核心算法,先对两个图片矩阵做差取绝对值,然后用255减去这个绝对值作为计算结果,深色像素不做计算,直接取颜色浅的像素的值,最终接近255值的像素区域为水印区域;正常情况下,纯色水印识别率比较高,半透明水印需要添加抖动值范围做水印框定,算法原理:借鉴动画原理,相同规格的水印信息相当于镜头上的污点,这个污点在浅背景下会更明显;

2)图片分类预处理,对待处理图片按渠道和分辨率做分类,一般情况下同一网站图片水印内容相同,位置一致,图片分辨率相同,该步骤可以在爬虫获取图片时直接做分类;

3)水印蒙版阴影提取,在同一分类下,取10张或更多有水印的图图片,随机取一张图片做操作对象,然后分别与其它图片做步骤1)运算,运算后会得到水印的蒙版阴影,关于蒙版阴影运算是否成功,需要通过参数不断调优和测试,一般通过255和抖动值范围的分布区域做判断,分布区域比较小并大于足够像素点时,判定为运算成功,否则继续取图片,做步骤1)运算;

4)通过阴影模板提取水印原图,通过阴影的覆盖区域,到尽量多的图片里提取灰度运算后最亮的像素,注意,这里保存的是RGB值,直到提取的像素值不在变化,表示提取成功;

5)通过水印原图,去除图片水印:此处去除水印的算法采用opencv的inpaint算法,其已经可以很好的去掉水印图片;

6)水印图片搜索与定位,通过水印愿图片与待判断图片做步骤1)运算,然后做蒙版区域统计,根据比中区域与有效区域做比值计算(深色区域不做比较,如:黑色区域),结果超过60%或更多表示有水印。

本发明中,通过以上步骤,图片水印模板通过预分类好的图片,自动通过算法直接在待处理图片中提取,图片分类也可以通过爬虫程序自动处理;算法中使用灰度图像,进行水印定位,使用rgb值做图片水印提取,最大程度上保证水印图片像素提取的准确性,同时也保证去除水印时能够更干净不留痕迹;本方法不需要获取原始图片,和人工预处理图片,可很大程度节约人力成本,提高效率,减少机器学习运算周期。

参照图2,一种基于openCV的图片水印自动识别处理方系统,包括识别处理系统,识别处理系统的核心功能模块包括有:图片管理模块、任务管理模块、水印模板管理模块、算法管理模块、系统管理模块和对外服务接口管理模块。

本发明中,图片管理模块:

批量导入图片:通过文件夹导入图片,导入时自动提取图片分辨率,验证图片格式;通过url地址批量导入图片,根据url地址自动做区域分类,其它验证,同文件导入;

导入的图片按批次记录操作日志;

图片分类管理:添加和维护图片区域,添加和维护图片分类信息,图片筛选管理,提供人工筛选和删除图片功能;

图片标注信息管理;

水印静态位置信息标注:同类图片只需标准一张即可,加标注可很大提高运算效率和准确度;

水印动态位置信息标注:如果水印位置是动态变化的,需要把所有训练图片的水印位置都标注一下,然后由程序对动态位置做切割;

任务图片浏览下载:根据任务分类和名称过滤浏览处理结果。

本发明中,任务管理模块:

添加任务:选择处理算法和目标参数,定义任务,一般任务按算法进行分类;图片可以选择原始图片、其它任务处理后的图片,和水印模板图片;

维护任务:管理任务执行情况管理;任务执行周期管理,单次或周期执行;任务输入、输出参数管理。

本发明中,任务管理模块:

添加任务:选择处理算法和目标参数,定义任务,一般任务按算法进行分类;图片可以选择原始图片、其它任务处理后的图片,和水印模板图片;

维护任务:管理任务执行情况管理;任务执行周期管理,单次或周期执行;任务输入、输出参数管理。

本发明中,水印模板管理模块包括有:模板阴影图片管理、图片编辑,可以对蒙版做微调,修正阴影范围、水印原图管理、图片编辑,通过调整图片,提高水印消除效果,和检测准确率。

本发明中,算法管理模块:算法管理的是通用接口,具体功能,由注册的类实现,同一个算法可以有多个版本;且算法管理模块具体包括有:图片阴影运算模型管理、水印原图提取算法管理、水印检查算法管理、水印消除算法管理、水印蒙版阴影提取算法管理和图片背景颜色透明处理算法管理。

本发明中,系统管理模块:系统配置参数管理、接口权限管理和系统日志管理。

本发明中,对外服务接口管理模块:使用历史提取过的水印模板,批量比对,且对外服务接口管理模块包括有:水印检测接口和水印消除接口。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于openCV的图片水印自动识别处理方法及系统
  • 一种基于OpenCV的电池盒图像处理方法及系统
技术分类

06120112922074