Mike
Mike

Reputation: 3

How to find sizes and shapes of Microsoft Powerpoint objects?

I have a slide with some hand-drawn circles on it. I'd like to get a list of the coordinates and radii (sizes) of them. Attached is an image and link. Anyone have an idea how?
enter image description here

I started looking into computer vision techniques, but it seems like there should be a much more direct way.

Upvotes: 0

Views: 883

Answers (2)

Mike
Mike

Reputation: 3

I found a suitable method using vector graphics.

  1. Select all the circles in powerpoint, right click and 'save as a picture'. Use .emf (windows metafile) format (this option was only available on my windows machine, not mac).
  2. Open the emf file in inkscape, and save it to an 'svg' format, which is ascii and human readable.
  3. Extract the information from the path commands.

E.g.: Each circle is represented as a path object, with a line: d="m 36.527169,36.434607 c 0,-9.696733 9.075703,-17.551993 20.274845,-17.551993 11.194626,0 20.270329,7.85526 20.270329,17.551993 0,9.69264 -9.075703,17.552246 -20.270329,17.552246 -11.199142,0 -20.274845,-7.859606 -20.274845,-17.552246"

Here, the (x,y) following the 'm' character is the center of the circle, and the 12 (x,y) pairs following 'c' denote a 4-segment polybezier curve in which pairs 3,6,9,12 are the four compass points. Therefore in the above object, this is not a circle but an ellipse with axes ~ 20.27 and 17.55.

Upvotes: 0

DanielHsH
DanielHsH

Reputation: 4453

If you are familiar with openCV the method HoughCircles() will do the job: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

Are you familiar with Matlab? imfindcircles() will do it: http://www.mathworks.com/help/images/ref/imfindcircles.html

If this is a one time job you can post it as a job for someone else to do it for you for a small fee. Example: https://www.mturk.com/mturk/welcome

If you don't know any programming language and this is a one time job, you can do it manually. You can select each circle in photoshop, count the amount of pixels (and using the formulae of circumference = 2*pi*radius) find the radius. The center of mass of all the pixels will be the center of the circle. It is a bit tricky to separate overlapping circles but you can do it by hand

Upvotes: 0

Related Questions