为了解决人脸的关照问题,现在的研究方法主要有一下3类:
一、基于不变特征的方法、关照变化建模的方法和人脸图像关照归一化的方法。基于不变特征的方法是利用人脸的关照不变特征进行人脸识别,一般指利用朗博关照模型从图像中消除关照的影响。
二、光照建模的方法,主要是指在一个在一个子空间中表示不同关照引起的变化,并估计参数模型,但是此类方法计算量大,不能应用与实时的人脸识别系统中。
三、人脸图像归一化的方法,是指利用基本的图像处理技术对光照图像进行预处理。如:直方图均衡化和伽马校正等方法。
Retinex理论是Land提出的从信号分析角度出发,直接从单张图像中提取光照不变量。
步骤:
首先从原始图像中估计光照图像,然后在对数域里从原图中减去光照图像得到增强后的图像
Retinex方法主要包括两部分:关照的估计和归一化。
光照模型和对数变换:
根据Retinex理论:图像由入射分量和反射分量构成:
其中,表示图像的亮度分量,是缓慢变化的低频信号;表示物体的反射性质,是图像的光照不变量,是图像的高频信息;
//INFaceTool.h
#include<opencv2\opencv.hpp>
using namespace cv;
Mat normalize8(Mat &X,int model=1);
// The function applies the adaptive single scale retinex algorithm to an image.
void adative_sigle_scale_retinex(Mat &img,Mat &L,Mat &Gradient,Mat&LocalInhomogenity,