Ask Your Question

tiantong's profile - activity

2019-09-02 17:12:42 -0600 received badge  Notable Question (source)
2019-01-09 05:07:27 -0600 received badge  Popular Question (source)
2016-08-18 23:26:01 -0600 asked a question how to use python to detect ellipse

I want to detect the simple shapes in an image. I use cv2.approxPolyDP to detect vertices, but the result of ellipse is 4, same as square, how to differ them? Or, how to detect an ellipse, given the contour?

This is part of the code, "c" is the contour. I find ellipse's approx is 4, same as square.

    shape = "unidentified"
    peri = cv2.arcLength(c, True)
    approx = cv2.approxPolyDP(c, 0.04 * peri, True)

    # if the shape is a triangle, it will have 3 vertices
    if len(approx) == 3:
        shape = "triangle"

    # if the shape has 4 vertices, it is either a square or
    # a rectangle
    elif len(approx) == 4: