마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 openCV 카메라로 눈 인식

0 추천

haar cascade 분류기를 사용해서 프레임마다 두 눈을 검출하는데 검출되는 눈동자가 왼쪽 눈인지 오른쪽 눈인지 순서를 구분할 수 있는 방법이 있을까요?

 

public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) { // 카메라 프레임 가져오는 메서드

        mRgba = inputFrame.rgba();

        mGray = inputFrame.gray();

 

        if (mAbsoluteFaceSize == 0) {

            int height = mGray.rows();

            if (Math.round(height * mRelativeFaceSize) > 0) {

                mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize); // 높이 * 0.2 를 반올림

            }

            //  mNativeDetector.setMinFaceSize(mAbsoluteFaceSize);

        }

 

//        MatOfRect faces = new MatOfRect();

        MatOfRect eyes = new MatOfRect();

 

        if (mDetectorType == JAVA_DETECTOR) { // 자바 디텍터 일때

            if (mJavaDetector != null) // 객체가 null 이 아닐때

//                mJavaDetector.detectMultiScale(mGray, faces, 1.1, 2, 2, // TODO: objdetect.CV_HAAR_SCALE_IMAGE

//                        new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());

            if (mJavaDetectorEye != null) {

                mJavaDetectorEye.detectMultiScale(mGray, eyes);

            }

        }

        else if (mDetectorType == NATIVE_DETECTOR) {

            /*if (mNativeDetector != null)

                mNativeDetector.detect(mGray, faces);*/

        }

        else {

            Log.e(TAG, "Detection method is not selected!");

        }

 

//        Rect[] facesArray = faces.toArray();

        Rect[] eyesArray = eyes.toArray();

 

        for (int i = 0; i < eyesArray.length; i++) // 인식된 눈 갯수

        {

            Rect r = eyesArray[i];

 

            Rect eyearea = new Rect(r.x + r.width/8, (int)(r.y + r.height/2.0), (int)(r.width - r.width/2.5), (int)(r.height/2.5)); // 눈 검출된 영역 크기 조절

 

            Core.rectangle(mRgba, eyearea.tl(), eyearea.br(), new Scalar(255, 0, 0, 255), 2); // 조절된 눈 영역 사각형으로 그리기

}

return mRgba;

}

younghov (140 포인트) 님이 2017년 8월 20일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...