OpenCV speed traffic sign detection

后端 未结 4 1614
再見小時候
再見小時候 2020-12-16 06:37

I have a problem detecting speed traffic signs with opencv 2.4 for Android. I do the following:

\"capture frame -> convert it to HSV -> extract red areas -> detect

4条回答
  •  感情败类
    2020-12-16 07:04

    private void findEllipses(Mat input){
        Mat thresholdOutput = new Mat();
        int thresh = 150;
    
        List contours = new ArrayList();
        MatOfInt4 hierarchy = new MatOfInt4();
    
        Imgproc.threshold(source, thresholdOutput, thresh, 255, Imgproc.THRESH_BINARY);
        //Imgproc.Canny(source, thresholdOutput, 50, 180);
        Imgproc.findContours(source, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
    //      source = thresholdOutput;
        RotatedRect minEllipse[] = new RotatedRect[contours.size()];
    
        for(int i=0; i minEllipseSize && temp.size().height < maxEllipseSize){
                double a = Imgproc.fitEllipse(temp).size.height;
                double b = Imgproc.fitEllipse(temp).size.width;
                if(Math.abs(a - b) < 10)
                    minEllipse[i] = Imgproc.fitEllipse(temp);
            }
        }
    
        detectedObjects.clear();
        for( int i = 0; i< contours.size(); i++ ){
            Scalar color = new Scalar(180, 255, 180);
            if(minEllipse[i] != null){
                detectedObjects.add(new DetectedObject(minEllipse[i].center));
                DetectedObject detectedObj = new DetectedObject(minEllipse[i].center);
                Core.ellipse(source, minEllipse[i], color, 2, 8);
            }
        }
    }
    

提交回复
热议问题