2016-12-01 59 views
0

我試圖製作一個程序,可以拍攝飛鏢的圖像並讀取分數。到目前爲止,我可以通過比較一個模型圖像獲取每個鏢的位置,你可以在這裏看到:我如何轉換圖像以匹配OpenCV中的圓形模型

enter image description here

但是這隻能如果輸入圖像幾乎是相同的。在另一種情況下,董事會略有不同的視角,所以我想也許我可以轉換圖像以匹配模型圖像,然後執行上面可以看到的過程。

enter image description here

所以我的問題是:我怎樣才能改變這最後的圖像,以配合OpenCV的模型飛鏢的形狀和閾看?

+0

也許一個橢圓適合板的輪廓?我想你可以計算透視矯正的參數。因爲你不再從頂端看到它們,而是從側面看,它們對於飛鏢壽命沒有多大幫助。我不考慮改正視角,而是考慮用它來幫助用戶正確定位相機。 –

回答

1

飛鏢板基本上是平面的。因此,您可以通過單應性來對想要的轉換進行建模。現在,您可以執行簡單的特徵提取和匹配,如here,或者如果速度不那麼重要,則使用基於強度的參數對齊algorithm(更準確)。

但是,正如評論中已經提到的那樣,事後不會那麼簡單。飛鏢航班(取決於變形)很可能會覆蓋棋盤上與實際比分不吻合的區域。其實,即使有正面看法也很難說。

我假設你必須找到飛鏢在你的棋盤上的位置。而且,從某種角度來看,我認爲這會更容易一些。也許,您可以在預先檢測到差異的區域恰好放置線段。

0

我不認爲將圖像與使用不同角度拍攝的模型進行比較是一個不錯的主意。即使在完全匹配它們之後,也應該有很多細微的差別 - 比如陰影,燈光,色差等。

每當遊戲開始時(參考)和提取特徵(直線似乎足夠好),然後在比賽結束後,捕捉圖像,減去參考,並進行斑點分析以找到飛鏢。