Home > Software design >  How to measure objects in different planes with OpenCv and a single camera
How to measure objects in different planes with OpenCv and a single camera

Time:11-28

I'm working on a project where I need to track markers placed in a person. The person will be walking on a treadmill. I will use a single camera for each side.

I already calibrated the cameras, but now I'm trying to understand how to solve a problem. The problem is: the person will be walking and consequently the plane of the marker will change a bit, e.g, the marker on the shoulder can get closer to the camera sometimes if the person moves a bit to the side. I can't measure distances using depth because I'm only using one camera for each side.

So, I discovered that Aruco markers could keep the same scale even if the plane changes (the distance between the camera and the object). But to use these markers I'll need to attach an Aruco marker to each marker that will be placed on the person's body. It doesn't seem to be a very "simple" solution. However, at this moment, this is the best solution that I'm thinking about.

Does anyone have another idea to overcome this problem?

CodePudding user response:

If the treadmill is always the same, you might use it as a "calibration object" to fix scale. Build (or find online) a 3d model for it, position it on the image in a 3d modeling tool (e.g. Blender), then work out, e.g., the position of its "walk plane" w.r.t. the camera.

  • Related