2014-02-06 116 views
18

我正在開發一個應用程序,我正在使用opencv來檢測相機圖像中的形狀,並且想要在這些形狀上顯示由metaio渲染的3D對象。這怎麼能實現?我嘗試過自定義渲染,但'onNewCameraFrame'方法沒有被調用。使用Android中的metaio在openCV中進行3D對象渲染

我必須將我們在'onNewCameraFrame()'方法中獲得的每個相機幀轉換爲Mat對象以進行形狀檢測邏輯。但它沒有被調用。我甚至添加了對metaio sdk的'requestCameraImage()'方法的調用。

+0

您是否嘗試過運行opencv示例以檢查它們是否工作? 如果您使用本機抓取器;這也可能是問題,因爲它不適用於所有手機。 – Nallath

+0

我已經使用openCV的例子,但我想要的是metaio相機視圖,而不是openCV。 – Shweta24

+0

@ Shweta24。你能找到解決這個問題的辦法嗎? – VizZy

回答

2

以metaio開始的Hello world示例:http://dev.metaio.com/sdk/tutorials/hello-world/在那裏您可以看到示例代碼如何執行在標記上渲染一個圖形

但是metaio和OpenVC不適用於渲染部分,很好的metaio稍微比OpenCV多一點,但它們是計算機視覺應用程序的一部分。要呈現你自己必須編寫OpenGL代碼的東西,或者將metaio的跟蹤引入一些更復雜的呈現引擎,如jMonkey,libGDX等。

+0

我已經經歷了metaio的基本教程。 Metaio免費版不支持邊緣檢測,可以通過openCV完成。所以,我想知道,(OpenCV和Metaio)如何組合=>就像我在openCV中使用邊緣檢測時檢測到的基本形狀一樣。現在我想使用metaio在檢測到的形狀上添加三維對象。如何才能做到這一點。 – Shweta24

+0

我認爲你不能這樣做,閱讀使用條款,我認爲你不能同時使用OpenCV和metaio計算機視覺方法 –

+0

你可以做的是使用類似droidar標記跟蹤器的東西:https ://code.google.com/p/droidar/wiki/Markerdetection和https://www.youtube.com/watch?v=w5BrHLnG4no,但這意味着您需要自己編寫一些跟opencv的跟蹤邏輯 –