参见

涉及到一个软件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) |

linux中人脸识别不了,linux 人脸识别相关推荐

  1. centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国

    Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...

  2. linux中_Linux基础知识(Linux系统、Linux中的链表)

    Linux系统简介 Linux系统的结构及特点 Linux系统的结构图如下图所示: 从上图可以看出,Linux是一个典型的宏内核(一体化内核)结构.硬件系统上面时硬件抽象层,在硬件抽象层上面时内核服务 ...

  3. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

  4. linux取证教程,Linux中的取证(Forensics in Linux)

    Linux中的取证(Forensics in Linux) 数字调查的主要问题是通过加密或任何其他格式保护重要证据或数据. 基本示例是存储密码. 因此,有必要了解Linux操作系统在数字取证实施中的使 ...

  5. linux中which命令详解,Linux下which命令使用详解(转)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...

  6. linux中600是什么权限,linux系统中文件的权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  7. linux中date命令详解,Linux使用date命令修改日期时间详解linux操作系统 -电脑资料...

    在linux中我们只要使用ROOT管理员进入然后就可以直接使用date函数来修改服务器的日期时间了,如date -s 2013-08-03就设置成功了,下面我来来看看date用法 Linux 时间修改 ...

  8. linux中select和epoll原理,Linux下selectpollepoll的实现原理(一)

    最近简单看了一把 linux-3.10.25 kernel中select/poll/epoll这个几个IO事件检测API的实现.此处做一些记录. 其基本的原理是相同的,流程如下 先依次调用fd对应的s ...

  9. linux中which命令详解,Linux命令详解之–which命令 | Linux大学

    摘要 Linux which命令 通常用于查找文件.本文就为大家介绍下 Linux which 命令 的用法与示例. Linux which命令 通常用于查找文件.本文就为大家介绍下 Linux wh ...

  10. linux中软链接和硬链接,Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件: Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link). Inode 文 ...

最新文章

  1. 10句“金玉良言”,助你面试成功!
  2. mysql性能优化学习笔记-存储引擎
  3. java 签名 apk mac_java 方法签名
  4. 微信登录提示逻辑不正确_Axure RP 9 教程:模拟登录注册
  5. python学习笔记(二)---编辑工具sublimeText3运行python
  6. wxWidgets:wxSetCursorEvent类用法
  7. 有关Spring中Resource的继承关系(代码解读)
  8. 根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
  9. 微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
  10. 如何使用HTML制作个人网站( web期末大作业)
  11. 项目管理(PMP)整体介绍
  12. 【CVPR华为】【CVPR诺亚方舟】【CVPR2019】华为诺亚方舟实验室2019年CVPR27篇:全面展现诺亚实验室在计算机视觉蓝图
  13. 亚马逊测评自养号教程
  14. 深度搜索--水管工游戏
  15. 吐血分享:QQ群霸屏技术教程(接单篇)
  16. iOS:内存优化思路
  17. 基于Arduino、ESP8266的物联网项目开发方案整理、毕业设计(第一波)
  18. html首字母检索,js城市首字母拖动检索
  19. 戴森空气净化器php00使用,戴森空气净化器使用—戴森空气净化器使用方法
  20. 小程序下单购买支付流程

热门文章

  1. SQL Server的索引碎片
  2. 程序员延寿指南、如何活得更长
  3. MYSQL一揽子方案汇总
  4. 人工智能的几个研究方向
  5. wd移动硬盘不能识别_移动硬盘无法识别
  6. Selenium+Request+Beautifulsoup(周杰伦,林俊杰歌词爬取)
  7. 考虑下面两个JSP文件代码片断: test1.jsp:
  8. [DBNETLIB][ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问解决方方法
  9. Go语言十周年 | Go精华资料整理
  10. 用计算机怎么转换器,电脑转换器怎么用 电脑转换器详解