2015-04-27 38 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的橢圓。

相關問題