小编Ap0*_*0rv的帖子

使用 OpenCV 进行 Android 纸张检测

我正在尝试通过 OpenCV 实现纸张检测。我能够理解如何获得它的概念,

Input-> Canny-> Blur-> Find Conture-> Search (closed)Quadrilateral-> Draw Conture

但是,我还是 OpenCV 编程的新手。所以在实施过程中遇到了问题。我能够通过这个答案找到帮助

Android OpenCV 纸张检测

但它在每个可能的衬里上绘制轮廓。这是我试图实现的代码。

public Mat onCameraFrame(CvCameraViewFrame inputFrame) {

    mRgba = inputFrame.rgba(); 
    Imgproc.drawContours(mRgba,findContours(mRgba), 0, new Scalar(0 , 255, 0), 5);
    return mRgba; 
}

public static class Quadrilateral {
    public MatOfPoint contour;
    public Point[] points;

    public Quadrilateral(MatOfPoint contour, Point[] points) {
        this.contour = contour;
        this.points = points;
    }
}

public static Quadrilateral findDocument( Mat inputRgba ) {
    ArrayList<MatOfPoint> contours = findContours(inputRgba);
    Quadrilateral quad = getQuadrilateral(contours);
    return …
Run Code Online (Sandbox Code Playgroud)

android opencv image-processing object-detection

5
推荐指数
0
解决办法
1174
查看次数