- 【Intel】OpenCV総合スレ 5画素目【画像処理】
390 :デフォルトの名無しさん[sage]:2015/09/26(土) 00:05:38.71 ID:E4DrPgdJ - opencv 3.0
windows7 eclipse 言語 java 趣味でopencvを数日前から弄っています。顔認識を試してみたくて https://blog.openshift.com/day-12-opencv-face-detection-for-java-developers/ ここのサイトを見ながらコツコツやっています。(情報が古いですが、探り探り) で、ビルドしたら↓の行で例外が出ました。 CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath()); エラーメッセージ――――――― Exception in thread "main" java.lang.NullPointerException at opencv.FaceDetector.main(FaceDetector.java:17) ――――――― haarcascade_frontalface_alt.xmlのパスが取得できなかったと思われるのですが、そもそも haarcascade_frontalface_alt.xmlをどこに置いておくべきでしょうか?あと、認識用の画像も。 プロジェクト内ならどこでもおいてよいかと思っていたのですが…いろんなところに置き換えてみても例外が消えません。 対処法をご存知の方、お教えいただけたら幸いです。
| - 【Intel】OpenCV総合スレ 5画素目【画像処理】
391 :390[sage]:2015/09/26(土) 00:06:24.36 ID:E4DrPgdJ - ちなみにソースコードはこうです。
――――――ソース package opencv; 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.imgcodecs.Imgcodecs; import org.opencv.objdetect.CascadeClassifier; import org.opencv.imgproc.Imgproc; public class FaceDetector { public static void main(String[] args){ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); System.out.println("Running FaceDetector"); CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath()); Mat image= Imgcodecs.imread(FaceDetector.class.getResource("mako.jpg").getPath()); MatOfRect faceDetections =new MatOfRect(); faceDetector.detectMultiScale(image, faceDetections); System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
| - 【Intel】OpenCV総合スレ 5画素目【画像処理】
392 :390[sage]:2015/09/26(土) 00:06:57.58 ID:E4DrPgdJ - for(Rect rect :faceDetections.toArray()){
Imgproc.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="output.png"; System.out.println(String.format("Writing %s", filename)); Imgcodecs.imwrite(filename, image); } } ――――――ソース終わり 以上です。 よろしくお願いいたします。
| - 【Intel】OpenCV総合スレ 5画素目【画像処理】
394 :390[sage]:2015/09/26(土) 22:13:06.51 ID:E4DrPgdJ - >>393
おお! その手がありました。 やってみます。ありがとうございます!
|
|