在我的項目中,我需要識別歐元硬幣,有人建議我使用OpenCV分類器和訓練算法。所以我下載了OpenCV的3.1版本,並試圖開始。我想知道一些我不明白的教程(我所遵循的是來自OpenCV官方文檔的this,this和this)。OpenCV:如何使用opencv_createsamples和opencv_traincascade
首先,生成並考慮負樣本是強制性的嗎?如果是的話,我應該認爲哪種「對象」是否定的?在我的應用程序中,我應該檢測並識別歐元硬幣,所以...應該從任何其他隨機類型的對象創建底片嗎?其次,我的應用程序應該識別2歐元,1歐元和0.50歐元的硬幣。那麼,我應該用opencv_createsamples
生成多少個正面樣本?每種硬幣(正面和背面)一個或所有3種硬幣都有一個獨特的硬幣?如果我理解的很好,那麼我會在iOS應用項目中包含一些.xml文件,對吧?
最後,detectMultiScale()
不僅會檢測硬幣,而且它的種類?這就是爲什麼我認爲我需要的不僅僅是一個分類器文件,以便從右側區分和區分硬幣的價值。
希望我沒有寫出太寬泛的問題,感謝您的關注。
我認爲負面樣本是必須的。我對歐元硬幣不熟悉,但'detectMultiScale()'不太可能識別硬幣類型,即使您單獨訓練它們並使用3種不同的探測器 - 它們只是形狀相似(圓?)。對於那個任務,你需要訓練一個物體識別。 –
@QuangHoang謝謝你的回答。是的,所有歐元硬幣都是圓形的,非常相似。 Ehm,什麼是對象識別?你能聯繫我一個很好的教程嗎? –
這與面部識別相似。通常你需要訓練一個分類機器,無論是PCA,SVM還是神經網絡。 OpenCV有[face recogintion](http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html),可能與您的硬幣數據集一起使用。 - 還要注意的是,他們確實有一個機器學習模塊,其中包含通用分類器的更一般的實現。 –