【问题标题】:How to change rectangles in a face detection to ellipses in Javacv?java - 如何将面部检测中的矩形更改为Javacv中的椭圆?
【发布时间】:2016-06-07 17:26:06
【问题描述】:

这是我的代码,它使用矩形来标记检测到的人脸。我怎样才能在脸部周围制作椭圆?是否有 cvEllipse 类而不是 cvRectangle?我试着这样写,但似乎cvEllipse 不存在或者它的名字不同。

    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();

    }         

【问题讨论】:

  • 找到了这个`Imgproc.circle(mat , center, r.height()/2,new Scalar(1));`。我在哪里可以买到垫子?

标签: java opencv javacv


【解决方案1】:
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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多