1. 程式人生 > >解決Object Recognition Kitchen(ORK)的Web UI 無法顯示3D模型的問題

解決Object Recognition Kitchen(ORK)的Web UI 無法顯示3D模型的問題

ORK(Object Recognition Kitchen)是一個方便易用的一個物體識別庫,裡面包含了多種識別演算法,包括linemod、tod等識別方法,官網的教程很全面,從安裝到操作都講的很詳細,但是,照著教程走下來,有一個環節始終困擾這我,那就是ORK提供的Web UI管理介面始終無法顯示物體3D模型,這個功能其實並不影響最終linemod等演算法的使用,但由於無法顯示模型及模型列表,總讓人感覺很不爽,經過一番嘗試,終於解決了這個問題!

這個問題之所以存在,是因為ORK的web UI網頁程式碼中,有兩個與模型顯示相關的網頁檔案,object.html和meshes.html,這兩個網頁呼叫了2個來自google的js指令碼!對於國外網友來說,訪問google的這個指令碼根本不是問題,所以模型顯示不出來這種問題是根本不存在的,因此也找不到國外反應這個問題的帖子。而對於國內的程式開發者們來說,這就是不得不面對的現實問題了。

object.html檔案中需要注意的內容: 在這裡插入圖片描述 meshes.html檔案中需要注意的內容: 在這裡插入圖片描述

解決方法: 1、翻牆。 讓你的瀏覽器能訪問google就行,只要瀏覽器能訪問外網,這個問題自然消失。無論你是虛擬機器裝的ubuntu還是單獨的ubuntu系統,去網上搜索各種“科學上網”的方法就行。 我採用的是單獨的ubuntu系統,翻得好辛苦也沒翻出去,放棄這個方法了。 2、下載這兩個js指令碼。 還是翻牆。在ubuntu下牆沒翻出去,但是在windows下很好翻,那麼,可以找到這兩個指令碼所指向的連結地址,在windows的瀏覽器裡貼上連結地址(以object.html中指向的地址為例),開啟的網頁顯示一大堆亂七八糟的js程式碼如下圖。 在這裡插入圖片描述

沒錯,我們要的就是這個程式碼,全部複製下來,儲存為jquery.min.js文字檔案,meshes.html中的地址也照此操作一次,儲存為mesh.jquery.min.js(名字自定義)。

將這兩個檔案複製到ubuntu系統中的ork的web UI網頁程式碼所在的目錄下: object_recognition_core/web_ui/_attachments 在這裡插入圖片描述

再更改object.html和meshes.html中指令碼的連結指向:指向當前目錄下的對應檔案(找好對應關係,別找反了)。

object.html中,去掉原本指向google的連結地址,改為 src = “./jquery.min.js”

, meshes.html中改為 src = “./mesh.jquery.min.js”

記得重新編譯ork的包。

catkin_make

再次使用web UI檢視模型及模型列表,就能顯示了! 在這裡插入圖片描述 在這裡插入圖片描述