2017-08-29 25 views
0

我是新來的計算機視覺,但我想編寫一個Android應用程序,它具有以下功能:實時標誌檢測與OpenCV的現場攝像頭預覽Android上

獲取直播相機預覽和嘗試檢測一個標誌在那裏(我有我的資源中的標誌)。實時。如果找到,請在徽標周圍繪製矩形。如果沒有匹配,不要繪製矩形。

我已經嘗試了幾件事情,包括使用ORB進行模板匹配和特徵檢測。

爲什麼沒有工作:

模板匹配: 問題進行縮放和旋轉。我嘗試了它的多尺度變體,但a)性能非常差,b)矩形當然總是顯示試圖搜索圖像。在代碼中沒有辦法真正確認徽標是否被找到。

ORB功能檢測: 也非常慢(5-6 fps),但它工作正常。另一個問題是,我也永遠無法確定徽標是否在圖片中。即使徽標不在圖片中,ORB也會發現隨機匹配。

就像我說的,我對此很新穎。我將不勝感激什麼是最好的方式來實現的幫助:

  • 確認,如果圖片的(約200×200像素),在攝像機圖像(約600×600像素)的投資回報率。

  • 這不應該花費超過每幀50ms。我不知道這是否可能。所以如果一個正確的做法需要比這更長的時間,那麼我只需要在一個單獨的線程中完成這項工作,並且只需要像每隔五幀相機那樣進行分析。

希望有關如何實現這一點的任何提示或代碼示例。謝謝!

+0

如果您添加測試圖像和當前輸出,它會幫助我們找到問題! –

+0

@RickM。我看我今晚能不能做點什麼。我不認爲他們會幫助我的情況,雖然因爲我沒有配置/微調問題,但更像是什麼是實現什麼即時通訊的最佳方式尋找的一般問題。試想一下,我有大衆的標誌作爲圖片,我想要的基本上是確定大衆汽車的標誌是否也在我的相機圖片中。相機圖像不會非常棘手,因爲我會讓用戶知道將徽標放在屏幕上的一個小矩形中。不過,我必須確保相機屏幕上真的是大衆汽車的標誌。 – marco56

+0

這些圖片仍然有助於發現模板匹配是否可行,以及爲什麼_ORB似乎工作正常。在使用'RANSAC'使用'findHomography'後,從ORB中找到匹配的質量,你可能想看看[這裏](https://stackoverflow.com/questions/42505299/finding-if-two-images-are-similar/42515173#42515173) –

回答

1

隨着標誌檢測,我強烈推薦使用OpenCV HaarClassifier。從徽標圖像集合中生成訓練樣本很容易,或者很多變形的徽標圖像很容易生成。

如果您可以使用一些規則,例如要檢測的徽標的最小和最大尺寸以及圖像中可能出現的區域,可以使用比ORB更好的速度運行檢測器。

+0

我會看着他們,謝謝。 – marco56

+1

非常感謝。我其實已經開始工作了。還不完美,但我到了那裏。我有一個後續問題。爲了使我的分類器更好,我覺得我需要更多樣本圖片。你知道一種快速簡單的方法來生成一張圖片的隨機旋轉和扭曲圖片嗎? – marco56

+0

您是否嘗試過OpenCV的樣本生成器?這裏描述它。 http://note.sonots.com/SciSoftware/haartraining.html#w0a08ab4 – Totoro