2016-07-28 11 views
1

プロジェクトでjavaCVエンベロープを使用していますが、cvLoad関数を使用してxml(haarcascade_frontalface_default.xml)からHaarカスケードをロードしようとすると、nullが返されます。 Threreはエラーではなく、Pointerの代わりにnullというだけです。JavaCV 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); 

pointerToCascadenullあるとthis.faceHaarCascadenullです。

答えて

0

以下のコードで試してみてください。

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