基于灰度图像的人脸识别程序

FaceRecognition

一个基于灰度图像的人脸识别程序

非常简单,程序包括了读取LBP和PCA特征的代码 识别算法采用简单三层神经网络,输入为灰度特征,输出为识别结果。 Demo能对48个人实现识别。准确率70%左右。

要添加自己的识别,只需更改train和test文件夹里的图片即可,图像会自动拉伸。

点击训练按钮开始训练,不同的数据大小训练时间不同,请耐心等待。Demo已经有一个训练好的模型。训练好了就不用再次训练。

然后点击识别,选择自己的图像即可。

全识别按钮会自动将test文件夹下的所有图像做识别测试。

4个图像为候选图像。




Github地址:https://github.com/Linzecong/FaceRecognition 求赞



程序采用Qt开发,核心代码在widget.cpp里。



读取LBP特征代码:

QImage Widget::getLBP(QImage img)
{
    QImage result(HEIGHT,WIDTH,QImage::Format_RGB32);

    for(int i = 1; i= center)<<7;//获取图像的灰度值并做处理
            code |= (getgreynum(&img,i-1, j) >= center)<<6;
            code |= (getgreynum(&img,i-1, j+1) >= center)<<5;
            code |= (getgreynum(&img,i, j+1) >= center)<<4;
            code |= (getgreynum(&img,i+1, j+1) >= center)<<3;
            code |= (getgreynum(&img,i+1, j) >= center)<<2;
            code |= (getgreynum(&img,i+1, j-1) >= center)<<1;
            code |= (getgreynum(&img,i, j-1) >= center)<<0;
            result.setPixelColor(i,j,QColor(code,code,code));
        }
    }

    ui->PreImgComLBP->setPixmap(QPixmap::fromImage(result));
    return result;//返回一个特征图像
}



你可能感兴趣的:(【——其他内容——】)