本发明属于抠像方法领域,尤其是一种基于hsv颜色空间与色度键的蓝屏抠像方法。
背景技术:
蓝屏抠像方法是将在蓝屏下拍摄的图片或视频中的蓝色背景进行去除。目前的蓝屏抠像方法很多,有明度抠像(lumakey)、色度抠像(colorkey)、遮罩抠像(differencematte)、线性抠像(linearcolorkey)等。但仍存在颜色溢出,通道不干净,边缘失真等等问题。此外,半透明(纱质)抠像是蓝屏抠像的一个难点,难以将半透明部分的溢出像素点全部去除。目前还没有一种技术,能够解决这些问题与难点。同时,当前的抠像方法难以保证全自动化与视频抠像的实时性。
技术实现要素:
针对上述问题,本发明提出了一种基于hsv颜色空间与色度键的蓝屏抠像方法,可以精确去除蓝色背景与半透明材质中溢出的像素点;具体步骤包括:
步骤1、通过拍摄获取数据或者使用本地数据,从而得到数据集,即待抠像的蓝屏图片或视频,将图片从rgb颜色空间转换到hsv颜色空间,进行蓝屏背景抠像,并生成掩膜。
步骤2、在掩膜像素值为0对应原图的部分进行rgb颜色空间上色度键抠像(半透明的抠像),并生成distance图。
色度键抠像其方法的原理公式为:
其中r1、g1、b1为色键的rgb色值,r2、g2、b2为遍历的欲抠像图片的当前像素的色值。
步骤3、抠像与待合成图片进行合成;合成分为三种:
1)掩膜像素点的值为0,说明在抠像保留部分的内部,使用二次函数进行合成,设二次函数形式为:
γ=ax2+bx+c(式2)
设最大融合比例为m,得到函数的图像,用待定系数法,确定a=m/2552,b=-2m*255,c=m。x为对应distance图中像素点的值,γ为待合成背景的融合比例。
融合公式为:
w=w1*γ+w2(1-γ)(式3)
由于分为3个通道r,g,b,w1代表背景的r,g,b的值,w2代表保留部分r,g,b的值,w代表合成后的对应通道的值。
2)掩膜像素点的值∈[1,254],说明在抠像保留部分的边缘,则采用一次函数进行边缘融合:
γ=(1/255)*x(式4)
x为掩膜像素点的值,γ为待合成背景的融合比例。融合公式如式3所示。
3)掩膜像素点的值为255,说明在抠像保留部分的外部,待合成背景的融合比例1。
与现有技术相比,本发明所具有的有益效果为:
保证抠像的全自动化与视频抠像的实时性的条件下,解决了颜色溢出,通道不干净,边缘失真的问题和半透明抠像的难点,可以精确去除蓝色背景与半透明材质中溢出的像素点。
附图说明
图1是将图片进行蓝屏背景去除后生成的掩膜图。
图2是掩膜黑色对应原图的部分进行rgb颜色空间上色度键抠像生成的distance图。
图3是本发明方案流程图。
图4是hsv颜色空间图。
图5是hsv颜色空间的颜色区域分布图。
图6是二次函数的函数图像。
图7是最终抠像与合成的效果图。
具体实施方式
本发明采取的技术方案是先将图片从rgb颜色空间转换到hsv颜色空间并进行蓝屏背景的去除,保留下来的部分生成掩膜,如图1所示;在掩膜黑色对应原图的部分进行rgb颜色空间上色度键抠像,并生成distance图,如图2所示;根据distance图进行合成。方案流程如图3所示。关于本发明的技术方案具体说明如下:
步骤1、通过拍摄获取数据或者使用本地数据,得到数据集,即待抠像的蓝屏图片或视频,将图片从rgb颜色空间转换到hsv颜色空间,进行蓝屏背景抠像,并生成掩膜。
hsv颜色空间如图4所示,其颜色区域分布如图5所示。由其hsv颜色分布我们可知,当h∈[100,124],s∈[43,255],v∈[46,255]对应的颜色为蓝色,本发明先将背景的蓝色进行去除。并根据保留部分生成掩膜。掩膜为单通道,其像素值在[0,255]之间,若某点为保留部分内部则令像素点值为0,若为保留部分的边缘则像素点的值在[1,254]范围内,像素点值为255则该点为去除背景部分。
其中r1、g1、b1为色键的rgb色值,r2、g2、b2为遍历的欲抠像图片的当前像素的色值(半透明的抠像),并生成distance图。
色度键抠像其方法的原理公式为:
其中r1、g1、b1为色键的rgb色值,r2、g2、b2为遍历的欲抠像图片的当前像素的色值。
步骤3、抠像与待合成图片进行合成。合成分为三种:
1)掩膜像素点的值为0,说明在抠像保留部分的内部,使用二次函数进行合成,设二次函数形式为:
γ=ax2+bx+c(式2)
设最大融合比例为m,函数的图像如图6所示,用待定系数法,确定a=m/2552,b=-2m/255,c=m。x为对应distance图中像素点的值,γ为待合成背景的融合比例。
融合公式为:
w=w1*γ+w2(1-γ)(式3)
由于分为3个通道r,g,b,w1代表背景的r,g,b的值,w2代表保留部分r,g,b的值,w代表合成后的对应通道的值。
2)掩膜像素点的值∈[1,254],说明在抠像保留部分的边缘,则采用一次函数进行边缘融合:
γ=(1/255)*x(式4)
x为掩膜像素点的值,γ为待合成背景的融合比例。融合公式如式3所示。
3)掩膜像素点的值为255,说明在抠像保留部分的外部,待合成背景的融合比例1。
最终抠像与合成的效果如图7所示。