Hi this is my first question on the platform so feel free to comment if I have a mistake regarding the question.

I'm working on an ellipse detection scheme in which I have markers consisted of 3 concentric circles. I'm able to find the inner and outer circles via fitEllipse method and some thresholding techniques in OpenCV. What I'm trying to achieve here is that to obtain the projected circle (i.e. ellipse since my camera angles don't cause any degenerate case) using pencil of conics. My thoughts are as follows:

  • Lets call the original circle points by $x_1$ and projected points by $x_2$.
  • Since any two images of the same planar surface in space are related by a homography and markers are planar surfaces we have the following equation: $$ x_2 = H x_1 \\ H^{-}x_2 = x_1 $$
  • If we can express the middle circle using the pencil of conics as follows: $$ Q_{mid} = Q_{in} + \lambda*Q_{outer} $$
  • And using the conic equation, we find that: $$ x_{1}^TQ_{mid}x_{1} = 0 \\ x_{2}^TH^{-T}Q_{mid}H^{-}x_{2} = 0 \\ x_{2}^TQ_{mid2}x_{2} = 0 $$
  • This result provides that projection of conic can be found by the above formula. If we are to utilize this formula for the pencil of conics, we obtain the following: $$ x_{1}^TQ_{mid}x_{1} = 0 \\ x_{2}^TH^{-T}(Q_{in} + {\lambda}Q_{outer})H^{-}x_{2} = 0 \\ x_{2}^T (H^{-T}Q_{in}H^{-} + {\lambda}x_{2}^TH^{-T}Q_{outer}H^{-})x_{2} = 0\\ x_{2}^T (Q_{in2} + {\lambda}Q_{outer2})x_{2} = 0 $$
  • For a priorly given $\lambda$ I should be able to find the ellipse corresponding to projected middle circle.

My question is that How can I find such lambda and is this a valid technique to find the ellipse I wanted?

Edit 1:

A Similar Circular Marker

I want to detect these markers using a camera. While identifying the id of a marker, the embedded encoding is extracted. Since the part of the encoding doesn't create full circle (although it is circular) and I am already able to detect the most inner and outer circles, I have wondered if I can find the ellipse formula for the imaginary circle(ellipse, arc) that goes through the middle of the encoding. Circles I intend to detect are highlighted in the picture below with green and red colors:

enter image description here

The final result I want to achieve can be seen in the following picture which shows a projected marker example:

Projected Marker

  • $\begingroup$ Welcome to Scicomp! Could you give us a bit more context about what you mean with circles, and ellipse detection? $\endgroup$
    – MPIchael
    Aug 4, 2023 at 11:44
  • $\begingroup$ @MPIchael, I have added some pictures and descriptions to explain the question. Thank you $\endgroup$ Aug 4, 2023 at 14:02


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.