linux中人脸识别不了,linux 人脸识别

参见

涉及到一个软件pam-face-authentication,要修改一些东西,有空玩玩

系统OpenSUSE 11.3 milestone 5,KDE桌面:4.4.2,通过pam-face-authentication来实现su和桌面登陆的人脸识别。

1. 首先确认摄像头能用,如果不能用先安装驱动。可以使用软件cheese来检查摄像头驱动是否安装好,同时使用cheese来确定合理的摄像头分辨率。

在cheese的“编辑”->“首选项”里面,确定比较流畅的分辨率。我的摄像头在640x480以上分辨率时非常卡,但在320x240比较流畅。记住合适分辨率,后面要用到。

2. 安装pam-face-authentication

首先从官网上下载最新源代码:

wget

解压缩:

tar zxvf pam-face-authentication-0.3.tar.gz

cd pam-face-authentication-0.3/

修改源代码,设置合理的摄像头分辨率。默认情况下,摄像头分辨率没有设置,有时会比较卡,我这里的摄像头选用320x240分辨率比较好。

修改src/opencvWebcam.cpp

……

int opencvWebcam::startCamera()

{

// capture =cvCaptureFromAVI("/home/rohananil/ggm2.avi");

capture =cvCaptureFromCAM(0);

if(capture==0)

return 0;

else

// 添加下面两行内容

cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 320);

cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 240);

return 1;

……

这里把截图时的分辨率设置为320x240,可以根据自己的实际情况修改。

编译安装:

cmake -DCMAKE_INSTALL_PREFIX=/usr

make

make install

这里有一点要注意,x86_64系统下,pam_face_authentication.so被安装到/lib/security/,需要把它移动到/lib64/security/下,不然无法启动人脸识别。

3. 如果是kdm作为登陆管理器,需要安装kdm-plugin-pam-face-authentication

wget

tar zxvf kdm-plugin-pam-face-authentication-0.1.tar.gz

cd kdm-plugin-pam-face-authentication-0.1/

cmake -DCMAKE_INSTALL_PREFIX=/usr

make

make install

设置kdm使用kgreeter插件,修改/usr/share/kde4/config/kdm/kdmrc

找到 PluginsLogin

取消行首的注释,改为

PluginsLogin=classic, faceauthenticate

注意,kdm的人脸识别在某些主题下无法使用,oxygen能用,继续修改:

Theme=/usr/share/kde4/apps/kdm/themes/oxygen

4.在pam中增加人脸识别:

1)如果要在使用su命令时,增加人脸识别功能,修改/etc/pam.d/su

在最前面(第二行)添加:

auth sufficient pam_face_authentication.so enableX

然后训练摄像头进行人脸识别,首先要进入su模式

su

qt-facetrainer

然后,训练摄像头进行人脸识别,图像界面的,比较好弄。

然后在konsole等虚拟终端中输入su,就会弹出人脸识别窗口,识别通过就进入su模式,无需输入密码,不过并不省时间,呵呵!

2)如果要在kdm登陆时使用人脸识别,添加/etc/pam.d/kde4-faceauthenticate,内容如下:

#%PAM-1.0

auth sufficient pam_face_authentication.so

account include system-auth

password include system-auth

session include system-auth

session optional pam_console.so

session optional pam_polkit_console.so

然后在当前用户下,同样运行qt-facetrainer训练摄像头。注销桌面就可使用人脸识别登陆了。

要注意的是,要进入哪个用户环境,就要在哪个用户环境下使用qt-facetrainer训练摄像头。

不过在opensuse下,桌面登陆认证默认是由xdm管理的,所以不需要添加/etc/pam.d/kde4-faceauthenticate,而是修改/etc/pam.d/xdm

在最前面(第二行)添加:

auth    sufficient      pam_face_authentication.so      enableX

阅读(820) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值