<< return to Pixycam.com

360 degrees view

Hi,
I want to use the pixy with a bubblescope 360 degree mirror.
[[http://store.bubblepix.com/products/bubblescope]]

To learn and detect objects it would make much more sense
to have polar coordinates. Is there a chance to get a firmware
doing this?

Object will appear as sectors of a circle rather than squares or boxes
an I would like to get information like
angle, distance, width and hight instead of x,y,w,h

Has anyone done things like this before?

Greetings,
Roland

Hello Roland,
This is pretty cool!

You should be able to take Pixy’s output (which is in cartesian) and transform into polar coordinates fairly easily. This might be a good thing to try first.

Edward

Hi Edward,
I just show an example: !!!

As you can see, the colorcode from the pixy box is a sector of a circle.

when trying to see smaller objects or objects at a higher distance the actual colored area is a fine line
with a round shape. As long as the firmware tries to generate boxes in cartesian I can detect things but
transforming box coordinates to poloar coordinates will transform the edged of the large boxes in which
just a small line really is the object I am looking for.

So I would like to have the transformation before detection and than to give angles and distances as output.
That means rewriting the firmware, doesn’t it?

Greetings
Roland

Hello Roland,
Sorry, I’m not following you.

You can transform any x,y coordinates into polar coordinates.

http://www.engineeringtoolbox.com/converting-cartesian-polar-coordinates-d_1347.html

So imagine taking the detected block that Pixy returns, it’s x, y, width height values and calculating the x, y coordinates of all 4 corners of the block. Then take those 4 coordinates and transform them into polar coordinates. You can then look at the polar coordinates and tell how big of an angle the block spans, what it’s min and max radius is, etc.

That’s how I’d do it. :slight_smile:

Edward

Hi Edward,
here I add three blobs I could see with the 360 degree view.
Each of them is a rectangle in real live,
the red rectangle and the yellow one have the same width but different heights,
the green one is only half as wide resulting a smaller sector of a circle.
this results in the same 180 degree angle in the right and yellow box with
different thickness an a smaller angle with the green one.

When using cartesian blob detection I will get the same box values for all
the three different kind of blobs.

So I have to do the transforming of the picture before blob detection.

Or am I making a mistake?

Sorry Roland, I’m not quite following you. Maybe someone listening in can help.

I do know that there’s nothing special about polar coordinates, and that you can transform from polar to cartesian and back again easily. It’s just a different coordinate mapping. I think the only tricky part of using a 360 degree mirror like you describe is making sure that the origin of your polar coordinate frame matches the center of your mirror fairly well.

Hope this helps!

Edward