显著性驱动的图像重要区域马赛克自动生成方法与流程

文档序号:14445607阅读:398来源:国知局
显著性驱动的图像重要区域马赛克自动生成方法与流程

本发明属于计算机图像处理技术领域,涉及对图像的显著性区域生成马赛克的方法,具体涉及显著性驱动的图像重要区域马赛克自动生成方法。



背景技术:

马赛克是一种镶嵌艺术,通过组合不同大小、形状、颜色的嵌片来达到一种独特又具有创意的艺术效果。借助计算机实现马赛克效果的方法有很多,这些方法的输入通常是一张源图像,输出是一张经算法处理过的马赛克图像,算法还保证了输入和输出图像在视觉效果上的相似性。根据马赛克所用嵌片类型的不同,马赛克生成方法大致分为三类:第一类是使用大小和颜色相同的正方形嵌片的传统方法,该方法允许嵌片旋转,但嵌片之间不能重叠。在保证马赛克图像与源图像视觉上相似的前提下,该方法的目标是在源图像中摆放尽量多的嵌片,使得马赛克图像中空置的空间最小;第二类是使用较多的矩形小图填充到源图像的马赛克生成方法,该方法不允许小图的大小、形状、角度的任何改变,由此得到的马赛克图远远看上去与源图像很相像,近距离却是一个个不同的小图组合而成;第三类马赛克生成方法使用不规则的多边形作为嵌片。每个嵌片的颜色取为该嵌片在原图中对应区域内各像素点颜色的平均值,是一种基于voronoi图结构(见okabea,bootsb,sugiharak发表的期刊论文conceptsandapplicationsofvoronoidiagrams,collegemathematicsjournal,2000)的马赛克生成方法,这种方法是获得理想结果的经典方法。根据图像马赛克生成方法的不同,产生的视觉效果也有所不同,同时也可以应用到各种领域,如计算机图形和现代艺术领域、计算机模拟、图像传输处理等,应用得当的话可以发挥出很大的应用价值。

上述所介绍的方法通常得到的是整个输入图像的马赛克结果。但是,在很多场景下我们只需要保护特殊的重要区域,如:一张图像中的人脸、车辆上的车牌号码、银行卡上的账号信息。因此,对图像的特征区域进行马赛克处理有着重要应用。



技术实现要素:

本发明的目的是针对现有的对重要区域马赛克的需求,提出一种显著性驱动的图像重要区域马赛克自动生成方法。该方法能够在显著性区域上自动生成马赛克,同时其他区域保持原图不变,如此达到了输入图像中重要区域被保护的目的。另外,采用vcells超像素分割算法(见wangj,wangx发表的期刊论文vcells:simpleandefficientsuperpixelsusingedge-weightedcentroidalvoronoitessellations,ieeecomputersociety,2012)生成特征保持的超像素,使得马赛克结果与输入图像更相似。在此之前并没有这个研究的相关工作,本发明提出一个新的通用的框架以实现输入图像中显着性区域自动生成马赛克效果。

本发明的具体步骤如下:

步骤1、利用vcells超像素分割算法将待处理的输入图像分割成vcells超像素图。

步骤2、采用显著性检测算法计算输入图像的显著图。

步骤3、按照公式(1)计算显著图的阈值t,根据阈值给各像素点的灰度值重新赋值,将显著图转变为二值图。像素点的灰度值赋值方法如下:灰度值小于阈值的像素点灰度值重新赋值为0,大于或等于阈值的像素点灰度值重新赋值为1。阈值t计算公式如下:

其中,w是输入图像的宽度,h是输入图像的高度,s(i,j)表示显著图中第i列、第j行对应像素点的显著值。

若二值图中出现孔洞,则对二值图修补孔洞得到修补二值图。

步骤4、使用膨胀技术对修补二值图进行膨胀处理得到膨胀二值图。

步骤5、给膨胀二值图中灰度值为1的像素点重新赋值为超像素图中对应位置像素点的颜色值。

步骤6、给膨胀二值图中灰度值为0的像素点重新赋值为输入图像中对应位置像素点的颜色值,得到显著性驱动的马赛克图。

所述的膨胀处理采用matlab中的膨胀函数,膨胀函数中的参数strel选为3*3的square元素结构。

本发明的有益效果:

本发明实现了对图像的显著性区域自动生成马赛克,而不是传统的对整个图像进行马赛克。本发明得到的区域马赛克图,超像素排列整齐并且很好保持了输入图像的边缘特征。即达到了保护隐私信息的目的,并且伴有艺术效果。

附图说明

图1为本发明的算法流程图;

图2(a)、2(b)、2(c)分别为输入图像、初始化超像素图和vcells超像素图;

图3(a)、3(b)、3(c)分别为颜色对比图、颜色空间分布图和显著图;

图4(a)、4(b)、4(c)分别为二值图、修补二值图和膨胀二值图;

图5为本发明得到的显著性驱动的马赛克图。

具体实施方式

下面结合实施例对本发明作进一步描述。

如图1所示,显著性驱动的图像重要区域马赛克自动生成方法,具体步骤如下:

步骤1、利用vcells超像素分割算法将待处理的输入图像u分割成vcells超像素图,待处理的输入图像u见图2(a)。vcells超像素分割算法基于边界加权的重心voronoi图(ewcvt)结构,从而得到需要的边界特征保持的超像素,最后的vcells超像素图sp见图2(c)。vcells超像素分割算法的中间过程图有初始化超像素图见图2(b)所示。

步骤2、采用显著性检测算法计算输入图像u的显著图,为了达到好的效果,显著图要求准确、完整,背景区域要求低显著值,本发明的显著性检测算法采用申请号为2017105794557、专利名称为“融合颜色对比图和颜色空间分布图的图像显著性检测方法”中的算法,具体为将vcells超像素图sp作为专利中步骤3的超像素图,然后执行步骤3至步骤8。其中,显著性检测算法的中间过程有求取输入图像的颜色对比图见图3(a)、颜色空间分布图见图3(b);显著图s是融合颜色对比图和颜色空间分布图得到的,见图3(c)。

步骤3、按照公式(1)计算显著图s的阈值t,根据阈值给各像素点的灰度值重新赋值,将显著图转变为二值图sb见图4(a)。像素点的灰度值赋值方法如下:灰度值小于阈值的像素点灰度值重新赋值为0(表示非显著性区域),大于或等于阈值的像素点灰度值重新赋值为1(表示显著性区域)。阈值t为显著图总灰度值的均值的2倍,计算公式如下:

其中,w是输入图像的宽度,h是输入图像的高度,s(i,j)表示显著图中第i列、第j行对应像素点的显著值。

若二值图sb中出现孔洞,则对二值图sb修补孔洞得到修补二值图见图4(b)。

步骤4、为了增加显著性区域边界的覆盖面积,使用膨胀技术(见gonzalez,r.c.,r.e.woods,ands.l.eddins编写的书籍digitalimageprocessingusingmatlab,gatesmarkpublishing,2009)对修补二值图进行膨胀处理得到膨胀二值图见图4(c)。膨胀处理采用matlab中的膨胀函数,膨胀函数中的参数strel选为3*3的square元素结构。

步骤5、给膨胀二值图中灰度值为1的像素点重新赋值为超像素图sp中对应位置像素点的颜色值。

步骤6、给膨胀二值图中灰度值为0的像素点重新赋值为输入图像u中对应位置像素点的颜色值,得到显著性驱动的马赛克图,见图5。

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