(1)将源图像img-src由RGB空间转换到HSV空间,得到img-hsv。
(2)在HSV空间中,对V分量进行灰度直方图均衡。首先对img-hsv中的V分量进行统计,放入数组v-num[256]中并计算每一级V分量的概率v-p[i] i=0,1,…,255;然后计算累积概率,放入数组v-cal-p[256]中;最后计算得到V对应表,V值为i的点对应点的V值为v-cal-p[i]*256,得到处理后的图像img-hsv-process。
(3)将处理后的图像img-hsv-process由HSV空间转换到RGB空间,得到img-balance。
(4)对图像img-balance的RGB分量每个灰度级的像素个数进行统计,放入数组levelx[256]中,其中x=R,G,B。
(5)分别计算RGB分量中每个灰度级出现的概率。假设图像总像素个数为N,则x分量中灰度级为i的概率px-level[i]计算公式为:
(6)分别计算RGB分量的累加概率。x分量中灰度级从0到 的累加概率计算公式为(2):
(7)当px-total[i]大于5%且px-total[i-1]小于5%时,将该i值记作x分量的“参考黑”,即refBx=i;当px-total[i]大于95%,且px-total[i-1] 小于95%时,将该i值记作x分量的“参考白”,即refWx=i。
(8)按照公式(3)对图像的每个像素点I[I,j]进行“参考白”处理。
利用改进的“参考白”算法进行进行处理后,处理的效果图如图2(a)所示,肤色检测的效果如图2(b)所示。
图2 改进的“参考白”算法的肤色检测效果图
共0条 [查看全部] 网友评论