2016-07-28 24 views
1

我在我的項目中使用javaCV信封,並且當我嘗試使用cvLoad函數從xml(haarcascade_frontalface_default.xml)加載Haar級聯時,我從它得到空值。 Threre沒有錯誤,只是null而不是PointerJavaCV cvLoad返回null

import org.bytedeco.javacpp.BytePointer; 
import org.bytedeco.javacpp.Pointer; 
import org.bytedeco.javacpp.opencv_core.*; 
import org.bytedeco.javacpp.opencv_objdetect.CvHaarClassifierCascade; 
import static org.bytedeco.javacpp.opencv_core.*; 
import static org.bytedeco.javacpp.opencv_imgcodecs.*; 
import static org.bytedeco.javacpp.opencv_objdetect.*; 

URI haarCascadeResource = getClass().getResource(
       "/haarcascades/haarcascade_frontalface_default.xml").toURI(); 
String haarCascadePath = Paths.get(haarCascadeResource).toAbsolutePath().normalize().toString();  
Pointer pointerToCascade = cvLoad(haarCascadePath); 
this.faceHaarCascade = new CvHaarClassifierCascade(pointerToCascade); 

pointerToCascadenullthis.faceHaarCascadenull

回答

0

嘗試用下面的代碼:

Pointer pointerToCascade = cvLoad(Put the directory of the haarcascade_frontalface_default.xml); 
this.faceHaarCascade = new CvHaarClassifierCascade(pointerToCascade);