2017-01-16 143 views
1

我正在使用cv2.findContours。檢索到的輪廓是「像素跟隨」(圖a)。然後我將它們保存爲svg多邊形元素。OpenCV - 如何將像素跟蹤輪廓轉換爲頂點跟蹤輪廓

我的問題是,svg多邊形被認爲是一種天真的方式「頂點跟隨」(圖b是想要的解決方案)。因此,我丟失了右側和底部的單個像素文件,因爲「中間像素」座標被解釋爲左上角座標。

如何將我的輪廓從像素轉換爲頂點(角點)或以其他方式獲得像素精確的頂點跟隨輪廓?

我的代碼是HERE

enter image description here

+1

在我看來,如果您將所有像素都複製到了「東南方向」,然後運行輪廓算法,您將得到所需的輪廓。 –

+0

這不會工作,因爲它可以關閉一個像素寬的差距 – eyaler

回答

1

我設法解決這個問題:

  1. 縮放圖像x
  2. 發現輪廓
  3. 除以2的輪廓點和舍入up