人脸识别项目-Faced

黑灯瞎火自己摸了一个web+人脸识别项目,终于有了一点成果,web界面不怎么绚丽,记录一下.png

  1. 先look-one-look识别后的效果:
    人脸识别项目-Faced_第1张图片
  2. 还是先贴上项目的网址:
  • https://github.com/iitzco/faced
  1. 先把项目从Github上clone下来–>然后按照里面的requirement.txt的框架要求安装了3个依赖框架–>在当前用户下配置好环境变量[配置时注意要引用原PATH:FACED_HOME=/faced PATH=$FACED_HOME/bin:$PATH export FACED_HOME PATH],否则Linux的其他命令都会失效[若不小心操作失效,通过/usr/bin vim /etc/profile 改回来就OK],然后source /etc/profile让配置立即生效.
  2. 进入faced目录就可以执行faced命令啦~eg:faced --input xxx.png --save 后就会生成一个output.png文件,xdg-open output.png查看人脸识别后的图片
  3. 想借助前台web界面上传一张图片,后台识别完返回给web显示出来,这时候想到了脚本的方式,看我的另一篇博文:脚本 查看怎么使用脚本
  4. web端借助了struts框架来处理web提交的action事件(调用Linux系统脚本),贴上核心代码:
		//文件中转完成,开始执行脚本[若出错显示权限不足,先执行chmod 777 my.sh]
		String shpath="sh "+"/home/lhx/my.sh"; 
		Process ps = Runtime.getRuntime().exec(shpath); 
		try {
			//执行脚本子进程
			ps.waitFor();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
  1. 脚本执行结束后cp执行后的图片到关联的web项目就可以,贴上web的显示图片代码+脚本cp:
#!/usr/bin/expect
expect -c "
spawn su -
expect \":\"
send \"你的su密码\r\"
send \"cd /faced\r\"
send \"cp /home/lhx/Pictures/input.png /home/lhx/Workspaces/MyEclipse_2017_CI/Face/WebRoot/input.png\r\"
send \"faced --input /home/lhx/Pictures/input.png --save\r\"
send \"cp output.png /home/lhx/Workspaces/MyEclipse_2017_CI/Face/WebRoot/output.png\r\"
send \"xdg-open output.png\r\"
expect eof
"
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ taglib uri="/struts-tags" prefix="s" %>



	Face Recognize
	
	


	
Picture Not Found
  1. org…初成的效果就这么多,再来一张效果图:
    人脸识别项目-Faced_第2张图片
  2. 遇到的问题:action中调用脚本,脚本没有执行;web项目中图片的路径不对导致图片无法显示(没有修改Tomcat中的xml时是不能用绝对路径的,web识别不了绝对路径);8080/8005/8009端口被占用,那就kill他们.
  3. 后期再把整个项目放到Github上,欢迎学习交流~~~

你可能感兴趣的:(人脸识别)