2016-04-24 20 views
0

這是我的代碼,它使用矩形標記檢測到的面孔。我怎樣才能在臉上做橢圓呢?是否有cvEllipse班而不是cvRectangle?我試圖這樣寫,但似乎cvEllipse不存在或其名稱不同。如何將面部檢測中的矩形更改爲Javacv中的省略號?

CvHaarClassifierCascade cascade = new CvHaarClassifierCascade(cvLoad(XML_FILE)); 
    CvMemStorage storage = CvMemStorage.create(); 
    CvSeq sign = cvHaarDetectObjects(
     img, 
     cascade, 
     storage, 
     1.5, 
     3, 
     CV_HAAR_DO_CANNY_PRUNING 
    ); 

    cvClearMemStorage(storage); 

    total_Faces = sign.total();  

    for(int i = 0; i < total_Faces; i++){ 
     CvRect r = new CvRect(cvGetSeqElem(sign, i)); 
     cvRectangle(
      img, 
      cvPoint(r.x(), r.y()), 
      cvPoint(r.width() + r.x(), r.height() + r.y()), 
      CvScalar.RED, 
      2, 
      CV_AA, 
      0 
     ); 

     x=r.x(); 
     y=r.y(); 
     h=r.height(); 
     w=r.width(); 

    }   
+0

發現這個'Imgproc.circle(墊,中心,r.height()/ 2,新的標量(1));'。我在哪裏可以得到墊子? –

回答

0
import static org.bytedeco.javacpp.opencv_core.cvPoint; 
import static org.bytedeco.javacpp.opencv_core.cvScalar; 
import static org.bytedeco.javacpp.opencv_core.cvSize; 
import static org.bytedeco.javacpp.opencv_imgproc.cvEllipse; 

---- 

cvEllipse(img, cvPoint(), cvSize(), 2d, CV_AA, 0d, CvScalar.RED); 
相關問題