如何使用Face++接口开发微信公共平台的人脸识别系统

具体步骤如下:

  首先,先登录Face++的官网注册账号 
  注册之后会获取到api_secret和api_key,这些在调用接口的时候需要用到。

  然后接下来的就是使用PHP脚本调用API了。
  在使用PHP开发微信公共平台的时候,推荐使用Github上的一款不错的框架: wechat-php-sdk

如何使用Face++接口开发微信公共平台的人脸识别系统

1.环境搭建
整个项目的结构图

2.编写DetectFaceDemo.java,代码如下:
[java] view plaincopy
package com.njupt.zhb.test;  
import org.opencv.core.Core;  
import org.opencv.core.Mat;  
import org.opencv.core.MatOfRect;  
import org.opencv.core.Point;  
import org.opencv.core.Rect;  
import org.opencv.core.Scalar;  
import org.opencv.highgui.Highgui;  
import org.opencv.objdetect.CascadeClassifier;  

//  
// Detects faces in an image, draws boxes around them, and writes the results  
// to "faceDetection.png".  
//  
public class DetectFaceDemo {  
  public void run() {  
    System.out.println("\nRunning DetectFaceDemo");  
    System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
    // Create a face detector from the cascade file in the resources  
    // directory.  
    //CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
    //Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());  
    //注意:源程序的路径会多打印一个‘/’,因此总是出现如下错误  
        /* 
         * Detected 0 faces Writing faceDetection.png libpng warning: Image 
         * width is zero in IHDR libpng warning: Image height is zero in IHDR 
         * libpng error: Invalid IHDR data 
         */  
    //因此,我们将第一个字符去掉  
    String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);  
    CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);  
    Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));  
    // Detect faces in the image.  
    // MatOfRect is a special container class for Rect.  
    MatOfRect faceDetections = new MatOfRect();  
    faceDetector.detectMultiScale(image, faceDetections);  

    System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));  

    // Draw a bounding box around each face.  
    for (Rect rect : faceDetections.toArray()) {  
        Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));  
    }  

    // Save the visualized detection.  
    String filename = "faceDetection.png";  
    System.out.println(String.format("Writing %s", filename));  
    Highgui.imwrite(filename, image);  
  }  
}  

3.编写测试类:
[java] view plaincopy
package com.njupt.zhb.test;  
public class TestMain {  
  public static void main(String[] args) {  
    System.out.println("Hello, OpenCV");  
    // Load the native library.  
    System.loadLibrary("opencv_java246");  
    new DetectFaceDemo().run();  
  }  
}  
//运行结果:  
//Hello, OpenCV  
//  
//Running DetectFaceDemo  
///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml  
//Detected 8 faces  
//Writing faceDetection.png

听说PHP学了框架才强大?

引用 14 楼 peerlessnewer 的回复: cakephp是什么,怎么感觉像是php框架或者封装之后的东西? 会PHP基本知识能学不cakephp是所谓的“主流”“开源”的MVC框架。不过我从不用他。他是用PHP写的。如果会PHP就可以看的懂。	

百度是用php的什么框架开发的啊

怎么可能没有框架。没有框架这么大一个团队怎么干活……
不过相信,这样一个团队这么多年应该有自己的框架了。

微信公众平台开发用什么框架最好

一、单纯微信接口的话,servlet。
二、Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。
其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口;
广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。
从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
最早支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

版权信息:本站所有资源仅供学习与参考,请勿用于商业用途,如有侵犯您的版权,请及时联系客服,我们将尽快处理。

上一篇: 目前国内主流PHP框架有哪些

下一篇: 一个网站使用两个php框架好吗

用户评论 (0)

暂无评论

嘿,我来帮您!