【问题标题】:OpenCV (Java) : Draw a rectangle region on Camera ViewOpenCV(Java):在相机视图上绘制一个矩形区域
【发布时间】:2019-04-01 22:41:49
【问题描述】:

我正在尝试使用 OpenCV 在 android 上创建银行卡扫描仪,首先,我创建了一个区域,用户可以在其中扫描他们的卡,然后裁剪它,我正在努力处理矩形区域并将其放置在中心,关于我如何做到这一点的任何建议?非常感谢

这是我到目前为止所做的:

它是一个矩形,它居中,但大小不够我试图改变数字,但位置没有居中。

 public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
        Mat mrgba = inputFrame.rgba();

        int w = mrgba.width();
        int h = mrgba.height();

        Imgproc.rectangle(mrgba, new Point(w * 1 / 3, h * 1 / 3), new Point(
                w * 2 / 3, h * 2 /  3 ), new Scalar( 255, 0, 0 ), 5
        );

        return mrgba;
    }

输出

【问题讨论】:

    标签: java android opencv camera javacameraview


    【解决方案1】:

    试试这个:

    int w = mrgba.width();
    int h = mrgba.height();
    int w_rect = w*3/4; // or 640
    int h_rect = h*3/4; // or 480
    
    Imgproc.rectangle(mrgba, new Point( (w-w_rect)/2, (h-h_rect)/2 ), new Point(
                (w+w_rect)/2, (h+h_rect)/2 ), new Scalar( 255, 0, 0 ), 5
    

    确保 w_recth_rect 分别小于 wh

    【讨论】:

    • 有没有办法添加多个 ROI 来查找特定感兴趣区域的轮廓?我想找到三个垂直位置的矩形。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多