2015-04-27 37 views
0

我有一张幻灯片,上面有一些手绘圆圈。我想获得它们的坐标和半径(大小)的列表。附上图片和link。任何人有一个想法如何?
enter image description here如何查找Microsoft Powerpoint对象的大小和形状?

我开始寻找到计算机视觉技术,但是看起来应该有一个更直接的方式。

+0

无法发布图像。链接在这里:https://www.dropbox.com/s/6iuzldlnom7cecy/circles.pptx?dl=0 – Mike

回答

0

如果您熟悉OpenCV的方法HoughCircles()将做的工作: http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

你熟悉Matlab的? imfindcircles()会这样做: http://www.mathworks.com/help/images/ref/imfindcircles.html

如果这是一次性工作,您可以将它作为工作发布给其他人,为您做一小笔费用。示例:https://www.mturk.com/mturk/welcome

如果您不知道任何编程语言,并且这是一次性工作,则可以手动执行。您可以选择photoshop中的每个圆圈,计算像素数量(并使用圆周公式= 2 * pi *半径)找到半径。所有像素的质心将成为圆的中心。 分离重叠圆圈有点棘手,但你可以用手做

+0

目前还不清楚你是否想要获得PowerPoint形状的坐标/半径或形状在一个区域中的区域在PPT演示期间从PPT或幻灯片放映屏幕导出的图像。在PPT中,每个形状都有.Top .Left .Height和.Width属性,这些属性可以为您提供位置和大小。假设.Height = .Width,然后半径= .Width * .5 PPT坐标和任何图像的最终大小(在文件中或在屏幕上显示)之间的比率应该给你像素的大小/位置 –

+0

谢谢你们。我尝试了openCV,并取得了一些成功,但它没有找到一些圈子,而在其他地方捡到误报。我今天会尝试Matlab,看看它是否更好。以前我只是访问了powerpoint中的圆形对象并直接获得了它们的宽度(直径),但我更愿意自动化该过程(即:获取PP中所有选定形状的宽度和理想位置)。 – Mike

+1

检查您的中间结果(如边缘检测的结果)以找出发生了什么问题。一些预处理可以减少噪音并改善结果。 。可以调整以改善结果的Hough圆圈中有一些参数。 – Totoro

0

我找到了一个合适的方法,使用矢量图形。

  1. 选择powerpoint中的所有圈子,右键单击并“另存为图片”。使用.emf(windows metafile)格式(这个选项只适用于我的windows机器,不是mac)。
  2. 在inkscape中打开emf文件,并将其保存为'svg'格式,该格式为ascii和人类readable
  3. 从路径命令中提取信息。

例如:每个圆圈表示为路径对象,具有行: d =“米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“

这里,'m'字符后面的(x,y)是圆和12(x,y)对之后的'c'表示一个4段polybezier曲线,其中对3,6,9,12是四个指南针点。因此,在上述对象中,这不是一个圆,而是一个具有轴〜20.27和17.55的椭圆。

相关问题