相关疑难解决方法(0)

OpenCV中的照明标准化

我正在做一个人脸识别项目。我的图片具有不同的照明,因此我需要进行照明归一化。我读了一篇声称进行照度归一化的论文。本文介绍了以下功能和值。

1-使用gamma = 0.2进行伽玛校正
2-(使用(sigma0 = 1,sigma1 = 2)进行高斯(DOG)滤波的差异)
3-对比度均衡(本文中使用截断阈值为10且压缩分量为0.1)

CvPow用于伽玛校正,CvSmoothDoG和Threshold()截断(我不知道如何指定压缩分量),但是我没有得到确切的图像。我使用直方图均衡进行对比度均衡。

如果有人以前做过或有任何想法??

链接到本文:http : //lear.inrialpes.fr/pubs/2007/TT07/Tan-amfg07a.pdf

代码如下:(Peb Aryan的Python代码转换为JAVACV)

public static IplImage preprocessImg(IplImage img)
{
    IplImage gf = cvCreateImage(cvSize(img.width(),img.height()),IPL_DEPTH_32F, 1 );
    IplImage gr = IplImage.create(img.width(),img.height(), IPL_DEPTH_8U, 1);
    IplImage tr = IplImage.create(img.width(),img.height(), IPL_DEPTH_8U, 1);

    IplImage b1 = IplImage.create(img.width(),img.height(),IPL_DEPTH_32F, 1 );
    IplImage b2 = IplImage.create(img.width(),img.height(),IPL_DEPTH_32F, 1 );
    IplImage b3 = IplImage.create(img.width(),img.height(),IPL_DEPTH_32F, 1 );
    CvArr mask = IplImage.create(0,0,IPL_DEPTH_8U, 1 );

    cvCvtColor(img, gr, CV_BGR2GRAY); 
    gamma(gr,gr,gf);

    cvSmooth(gf,b1,CV_GAUSSIAN, 1);
    cvSmooth(gf,b2,CV_GAUSSIAN,23);
    cvSub(b1,b2,b2,mask); …
Run Code Online (Sandbox Code Playgroud)

opencv gamma gaussian contrast threshold

5
推荐指数
1
解决办法
8239
查看次数

标签 统计

contrast ×1

gamma ×1

gaussian ×1

opencv ×1

threshold ×1