2013-02-28 2 views
0

У меня есть код, который обнаруживает лицо, как глаза, так и ученик каждого глаза. Теперь я хочу обнаружить углы каждого глаза, используя обнаружение белого цвета. Поскольку я новичок в opencv, вы могли бы мне посоветовать мне, как мне это сделать и предоставить мне код для андроида? Это часть кода, который у меня есть:Отслеживание глаз Android OpenCV по распознаванию цвета

for (int i = 0; i < facesArray.length; i++){  
       Rect r = facesArray[i];  
        Core.rectangle(mGray, r.tl(), r.br(), new Scalar(0, 255, 0, 255), 3);  
        Core.rectangle(mRgba, r.tl(), r.br(), new Scalar(0, 255, 0, 255), 3);  

        eyearea = new Rect(r.x +r.width/8,(int)(r.y + (r.height/4.5)),r.width - 2*r.width/8,(int)(r.height/3.0));   
        Core.rectangle(mRgba,eyearea.tl(),eyearea.br() , new Scalar(255,0, 0, 255), 2);  
        Rect eyearea_right = new Rect(r.x +r.width/16,(int)(r.y + (r.height/4.5)),(r.width - 2*r.width/16)/2,(int)(r.height/3.0));  
        Rect eyearea_left = new Rect(r.x +r.width/16 +(r.width - 2*r.width/16)/2,(int)(r.y + (r.height/4.5)),(r.width - 2*r.width/16)/2,(int)(r.height/3.0));    
        Core.rectangle(mGray,eyearea_left.tl(),eyearea_left.br() , new Scalar(255,0, 0, 255), 2);    
        Core.rectangle(mRgba,eyearea_right.tl(),eyearea_right.br() , new Scalar(255, 0, 0, 255), 2);  
        if(learn_frames<5){  
        //This part detect the pupil of the eyes  
        teplateR = get_template(mCascadeER,eyearea_right,20);  
        teplateL = get_template(mCascadeEL,eyearea_left,20);  
        learn_frames++;  
        }else{  
        match_value = match_eye(eyearea_right,teplateR,FdActivity.method);  
        match_value = match_eye(eyearea_left,teplateL,FdActivity.method);  
        ;  
        }  
         Imgproc.resize(mRgba.submat(eyearea_left), mZoomWindow2, mZoomWindow2.size());   
         Imgproc.resize(mRgba.submat(eyearea_right), mZoomWindow, mZoomWindow.size());  
         }  

ответ