我有兩個真實世界的圖像。 (重要)我大約知道一個現實世界到另一個世界的轉變。由於紋理問題,我沒有在兩幅圖像之間獲得足夠的匹配。如何使用SIFt將轉換信息納入考慮範圍以獲得更多正確的匹配。 任何想法都會有所幫助。與SIFT匹配(概念)
1
A
回答
1
您是否嘗試了其他方法?你確定SIFT是答案嗎?首先,OpenCV提供了SIFT等工具。 (目前,我不能說OpenCV足夠高)。
如果我解決這個問題,我先試試:
- 下采樣的兩個圖像,以減少「質感」的影響,即cvPyrDown。
- 執行一些特徵檢測:邊緣檢測等。OpenCV提供了一個Harris角點檢測器等。谷歌「cvGoodFeaturesToTrack」的一些細節。
- 如果您對轉換有很好的信心,請利用您的信息,並查找與轉換後的位置相對應的鄰域中的特徵。
如果你仍然想看看SIFT或SURF,OpenCV也提供這些功能。
1
如果您知道變換,則應用變換,然後將SURF/SIFT應用於變換後的圖像。這是擴展特徵描述符/匹配器跨越大視角變化的魯棒性的一種標準方式。
0
還有另一種替代方案:
在SIFT參數,對比閾值被設定爲0.04。如果減少,並將其設置爲下值(0.02,0.01) SIFT會發現更多足夠的匹配:
SIFT(INT n功能= 0時,INT nOctaveLayers = 3,雙contrastThreshold = 0.04,雙邊緣閾值= 10,雙西格瑪= 1.6)
0
我認爲的第一步是嘗試使用SIFT算法的設置,以找到與您的問題相關的最佳效率。
另一種更有效使用SIFT的方法是將色彩信息添加到SIFT。因此,您可以將描述符中正在使用的點的顏色信息(RGB)添加到其中。例如,如果您的描述符大小爲10x128,則表明您在每個描述符中使用了10個點。現在您可以提取並添加三列,並將尺寸設置爲10x(128 + 3)[每個點的R-G-B]。這樣SIFT算法將會更有效率。但請記住,您需要對您的描述符應用權重,並使最後三列比其他128列更強。其實我不知道你的情況如何圖像。但這種方法幫了我很多。你可以看到這個修改使得SIFT比以前更強大。 類似的實現可以找到here。
相關問題
- 1. 與SURF匹配(概念)
- 2. 與縮小概念
- 3. Hadoop與MongoDB概念
- 4. SIFT匹配和識別?
- 5. 概念
- 6. 概念
- 7. 概念
- 8. 與約束概念模型
- 9. 異步node.js概念與IO
- 10. MVP與DDD的概念
- 11. MVC實現概念(概念(ABAP SAP)
- 12. sqlite概念到coredata的概念?
- 13. 概念類型中的成員數量不匹配
- 14. 實體框架4.0與CLR類型匹配概念模型的麻煩?
- 15. 多層概念
- 16. Laravel MVC概念
- 17. Xamarin MasterPage概念
- 18. Java ArrayList概念
- 19. Android:ViewHolder概念
- 20. Nodejs Promise概念
- 21. 多態概念
- 22. 界面概念
- 23. C++概念:CRTP
- 24. OAuth2.0的概念
- 25. UML:Multiplicity概念
- 26. 概念:在Python
- 27. Android webgl概念?
- 28. 子域概念
- 29. 線程概念
- 30. 封裝概念
thanx爲你的答案,但你可以請提一下關於衝浪/ SIFt,我可以如何在算法中介紹我的轉換信息。 – Shahgee 2011-02-08 09:29:42