2017-03-05 58 views
1

我试图在图像中构建用于人脸检测的检测器。我使用OpenCV库,版本2.4.11。FaceDetector无法解析为类型

现在我的源代码看起来像以下:

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; 

public class DetectFaces { 

    public static void main(String[] args) { 

     System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
     System.out.println("\nRunning FaceDetector"); 

     CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath()); 
     Mat image = Highgui 
       .imread(FaceDetector.class.getResource("pic.JPG").getPath()); 

     MatOfRect faceDetections = new MatOfRect(); 
     faceDetector.detectMultiScale(image, faceDetections); 

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

     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)); 
     } 

     String filename = "ouput.png"; 
     // System.out.println(String.format("Writing %s", filename)); 
     Highgui.imwrite(filename, image); 
    } 
} 

现在,我得到了FaceDetector cannot be resolved to a type例外,每次FaceDetector.class被调用。

虽然在做这个实现我下面的tutorial

任何建议都欢迎。 谢谢

+1

与'DetectFaces'类是否在同一个包中? – jlordo

+0

您没有正确阅读并复制粘贴教程。您正在编写的类_is_名为'FaceDetector',而不是'DetectFaces' ...!! – Tunaki

+0

@Tunaki。你是对的,谢谢。但是,这对于你所关联的话题来说是如何公布的? –

回答

0

你忘了导入类? 或者它在同一个文件夹中?