У меня возникла проблема при создании классификатора. Мой существующий путь к нему вызывает NullPointerException
. Я работаю с OpenCV 2.4.11 в Eclipse. ОС - Windows, поэтому я добавил еще одну обратную косую черту между папками. Когда я вставляю путь с одиночными обратными косыми чертами в файловом проводнике, он корректно открывает XML-файл. Мой код выглядит следующим образом:NullPointerException по существующему пути
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.out.println("\nRunning FaceDetector");
String path = "C:\\Users\\Juergen\\OpenCV\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml";
System.out.println("path:" + path);
CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource(path).getPath());
Выход:
Running FaceDetector
path:C:\Users\Juergen\OpenCV\opencv\sources\data\haarcascades\haarcascade_frontalface_alt.xml
Exception in thread "main" java.lang.NullPointerException
at FaceDetector.main(FaceDetector.java:24)
код основан на следующих instruction.
Любые идеи о том, почему выбрано исключение NullPointerException, оцениваются.
Благодаря
'getResource()' может возвращать 'null' и вызывать' getPath() ', что даст вам' NullPointerException'. – QBrute
, но почему он обернулся? если файл существует. Я проверю это, если (новый файл (путь) .exists()) –