Java 使用getResource的NullPointerException
我正在尝试创建一些应用程序来识别人脸,如下所示。但是,每当我运行下面的代码时,就会出现以下错误:线程“main”java.lang.NullPointerException中的异常Java 使用getResource的NullPointerException,java,opencv,getresource,Java,Opencv,Getresource,我正在尝试创建一些应用程序来识别人脸,如下所示。但是,每当我运行下面的代码时,就会出现以下错误:线程“main”java.lang.NullPointerException中的异常 class DetectFaceDemo { public void run () { CascadeClassifier faceDetector = new CascadeClassifier(getClass() .getRe
class DetectFaceDemo {
public void run () {
CascadeClassifier faceDetector =
new CascadeClassifier(getClass()
.getResource("/lbpcascade_frontalface.xml").getPath());
}
}
我应该把xml文件复制到某个目录吗
谢谢 从您的评论中,我认为您将
main/resources
放在了错误的目录中(并且您忘记了树的src
部分)
在本教程中,您应该具有以下结构:
src/main/java/
您已经有了
src
文件夹。在src
中创建main
目录,在main
中创建resources
目录。将XML文件放在resources
目录中,您就可以开始了。将以下内容放在代码中以找到类路径,并将XML
和png
文件复制到此位置
System.out.println(System.getProperty("java.class.path"));
你完成了教程的这一部分了吗<代码>接下来,将lbpcascade_frontalface.xml从opencv/data/复制到资源目录中是!它位于“C:\Users\Adriano\Documents\NetBeansProjects\LenaFaceDetection\build\classes\main\resources”目录中。它是正确的吗?我相信它应该位于
C:\Users\Adriano\Documents\NetBeansProjects\LenaFaceDetection\build\classes\src\mai中n\resources
。我不确定它是否应该在build
或classes
目录中。谢谢你的回答!我已经输入了C:\Users\Adriano\Documents\NetBeansProjects\lenafacetextension\src\lenafacetextension
,并且(不知道为什么)它工作了@阿德里亚诺瓦伦特:不,不要把整个路径都放进去,因为如果你这样做,然后尝试使用罐子里的资源,你的大脑就会崩溃。试试斯特凡的建议。