3

這可能不是編程相關的,但程序員可能會在最佳位置回答它。如何查找方形圖案的角點像素座標?

對於相機校準我在紙上打印了一張8 x 8的方形圖案。我必須手動輸入這些座標到文本文件中。然後軟件將從那裏拿起並計算校準參數。

是否有腳本或某些軟件可以在這些圖像上運行,並獲得64個方格中每個方格的四個角的像素座標?

alt text

回答

5

您可以使用cvFindChessboardCorners()傳統的棋盤模式(即黑白方格沒有間隙)做到這一點。您可以在OpenCV API Reference中閱讀有關該功能的更多信息,並參見O'Reilly's OpenCV Bookelsewhere online中的一些示例代碼。作爲額外的好處,OpenCV具有內置功能,可以計算攝像機的內部參數以及平面校準對象的多個視圖的外部參數數組。

+0

感謝OpenCV參考,我不確定OpenCv是否可以解碼這種模式(我可能在這裏是錯誤的),我在他們的校準頁面上看到了一些其他模式。 – 2010-12-06 07:50:44

+0

我所知道的所有標準校準例程(OpenCV和其他)都假定黑色和白色「棋盤」模式在方格之間沒有間隙。如果您不限制使用您發佈的校準模式,我強烈建議使用這種模式。如果這不是一個選項,你將不得不自己編寫角點檢測代碼(如user531627所述)。 – 2010-12-06 10:00:20

1

我確定有很多計算機視覺庫,其中有不同的功能和許可證,但我能記住的是我的頭頂是ARToolKit,它應該能夠識別這種模式。如果這是不可能的,它會附帶一套非常好的模式,這些模式都是經過量身定製的,即使它們部分模糊也能被識別。

+0

謝謝!將檢查ARToolKit了! – 2010-12-06 07:51:27

2

我想:

  • 申請門檻,並得到二值圖像。
  • apply SobelX過濾器圖像。您用垂直線獲得圖像。這屬於幾乎垂直的方格的邊。保持爲image1
  • apply SobelY filter to image。用水平線顯示圖像。這屬於幾乎水平的正方形的邊。保持爲image2
  • 化妝(圖像1XOR圖像2)。白色像素顯示黑色圖像,指示角落位置。

希望它有幫助。

0

我不知道ARToolKit(雖然我聽過很多關於它的內容),但對於OpenCV,這種處理是微不足道的。

相關問題