java代码人脸属性 java实现人脸识别

java 人脸识别 问题!

no jniopencv_objdetect in java.library.path

创新互联建站专注于博罗网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供博罗营销型网站建设,博罗网站制作、博罗网页设计、博罗网站官网定制、小程序定制开发服务,打造博罗网络公司原创品牌,更为您提供博罗网站排名全网营销落地服务。

opencv的相应的dll,没有放到环境变量PATH 所指的目录

用Java画人脸

完整代码如下:

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Toolkit;

import javax.swing.JFrame;

public class Face extends JFrame  {

/**

*

*/

private static final long serialVersionUID = 1L;

public Face(){

setSize(500, 500);

setResizable(false);

setDefaultCloseOperation(EXIT_ON_CLOSE);

Dimension screenSize = Toolkit.getDefaultToolkit()

.getScreenSize();

Dimension frameSize = getSize();

setLocation((screenSize.width - frameSize.width) / 2,

(screenSize.height - frameSize.height) / 2);

setVisible(true);

}

//下面的是关键的绘图代码

public void paint(Graphics g){

//画头

g.drawOval(100, 50, 300, 400);

//画眼睛

g.drawOval(140, 150, 100, 50);

g.drawOval(260, 150, 100, 50);

//画鼻子

g.drawArc(140, 150, 100, 150, -90, 90);

g.drawArc(260, 150, 100, 150, 180, 90);

//画嘴巴

g.drawOval(170, 320, 150, 50);

}

public static void main(String args[]){

new Face();

}

}

主要是用了几个java的画图函数,如果有用的话,希望采纳

如何开发Java动态人脸识别

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


当前文章:java代码人脸属性 java实现人脸识别
网站链接:http://scjbc.cn/article/dodsoji.html

其他资讯