Robofun 機器人論壇

標題: 新問題有關RB上使用OPENCV [打印本頁]

作者: hahn9999    時間: 2010-10-4 18:23
標題: 新問題有關RB上使用OPENCV
大家好:
小弟有一個如題所述的問題

在問之前我也爬過文了

爬文如右=> http://www.robofun.net/forum/viewthread.php?tid=5579&extra=page%3D1


但是我有一個新問題!!

如果我按照上面網址內容的教學,在我的PC上改完cxtypes.h並且也重新rebuild opencv過了



所以我只要在PC產生執行檔,再將執行檔丟到RB裡面直接執行就可以!!




但是我還有一個疑問,我在OPENCV裡面安裝的OPENCV並沒有更改cxtypes.h


那我在PC上所產生的執行檔放到RB裡面還可以正確執行嗎?
作者: josh    時間: 2010-10-5 09:42
我不太懂你所指的,OPENCV裡面安裝的OPENCV是什麼意思??



你所問的問題,在你爬到的文章內容裡有回答到。

roboard 的 CPU 沒有支援 MMX, SSE, SSE2 這些指令,

如果你沒有更改 cxtypes.h 的內容, 而 opencv 的程式又有用到的話,

你 build 出來的執行檔應該沒有辦法執行才是。
作者: hahn9999    時間: 2010-10-5 11:38
回復 2# josh


感謝您的回覆!!

抱歉  我打錯   是在Roboard裡面安裝Opencv

我用得是2.0版本的!!


我有爬過文,也照方法改過了!!

我在PC改過 cxtypes.h了,也在PC上跑出執行檔(Release)


所以我再將我的問題講清楚一點好了  抱歉!!


第一個:  我需要再Roboard裡面安裝Opencv嗎?


第二個: 如果需要再Roboard安裝Opencv,那我需要更改Roboard裡面Opencv的cxtypes.h檔嗎?
作者: josh    時間: 2010-10-5 13:25
如果你只是要在 roboard 上執行程式的話,可以不用安裝 opencv。

如果要在 roboard 上 compile opencv 的程式,當然要安裝 opencv。

另外,在 roboard 上執行你的 opencv 的程式,請記得要將相關的 dll 檔放在同一個資料夾中。

最後,

你可以先試著做看看,應該會很好解決,不用等著版上的人來回你問題,

可以節省你寶貴的時間。
作者: hahn9999    時間: 2010-10-5 17:57
回復 4# josh


真的很謝謝您的回答!!
我等下就來試試看!


謝謝您,有問題我會再請教您!!

不好意思,打擾了!!
作者: hahn9999    時間: 2010-10-5 19:08
回復 4# josh

Josh大大你好

我正在測試,不過遇到一個問題

您說要將相關的dll檔放進去

請問是指什麼dll檔?

因為我在PC上跑出來的Release資料夾內並沒有dll檔

不好意思第一次用Roboard,所以有些地方還不是很熟,還請見諒!!!


目前我的流程如下:

1.先在PC上的VC2008跑出執行檔,會有一個Realease資料夾,內會有一個執行檔跟.pdb檔

2.將整個Release資料夾放入Roboard,直接執行.exe檔!
作者: hahn9999    時間: 2010-10-5 19:40
回復 4# josh

我有將WinIo.dll、WinIo.sys和WINIO.VXD

以上這三個檔放進去我的Realease資料夾內了


但是我在Roboard上一執行,總會出現


無法啟動這個應用程式.......重新安裝此應用程式應該可以修復這個問題!!




他所顯示的應用程式是我在PC上的VC2008所Realeae出來的.exe執行檔!!


搞不太懂!!,我在PC上都有按照爬文去修改了,但是還是會錯誤,是不是我哪裡沒注意到呢?


還是流程有誤?


我會再努力試試看,也希望Josh大大給我再給我點指導!!謝謝您~~!
作者: hahn9999    時間: 2010-10-5 21:02
回復 4# josh

如圖所示:




我已經將需要的檔案也放到Realease資料夾內了!!

可是一執行.exe檔就會出現錯誤(如圖)


一直找不到原因!!
作者: josh    時間: 2010-10-7 11:24
如果你重新 build opencv 後,會所產生的新的執行檔。

在新的執行檔同一個資料夾(名稱應該是 release )中,

也會有你重新 build 出來 opencv 的 dll 檔(ex:cv200.dll, cxcore200.dll, ...)。

你要將這些 dll 檔連同執行檔一起複製到 roboard 裡,

這樣就可以成功執行了。

更簡單的作法是,把整個 release 資料夾複製到 roboard 裡執行即可。
作者: josh    時間: 2010-10-7 11:58
另外,要先確定有到 roboard 官網下載 Visual C++ 的套件來安裝。

如果你是用 VC 2005 要安裝 VC 2005 SP1 Redistributable Package。

如果你是用 VC 2008 要安裝 VC 2008 SP1 Redistributable Package。
作者: hahn9999    時間: 2010-10-7 19:50
回復 9# josh

首先真的很感謝Josh大大這麼不厭其煩的回答我這個新手
真的很衷心謝謝!!


我把我的問題一次講完好了~不好意思,可能要花你一點時間看一下


1.我PC上是使用Visual C++ 2008,我也有去關網看Download部分,分別有RoBoIO 1.61 source code和RoBoIO 1.61 binary,我應該下載哪一個?


2.我有按照爬文先在PC上修改我的cxtype.h檔,然後重新Rebuid  我的Opencv,我是按照以下網址的方法去Rebuid我的Opencv
http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1

  因此我PC安裝的Opencv其實所使用到的都是在此路徑=>  C:\OpenCV2.0\VC2008底下,因此,以下(紅色字部分)也就是您所說的

  重新 build opencv 後,會所產生的新的執行檔。在新的執行檔同一個資料夾(名稱應該是 release )中,也會有你重新 build 出來 opencv 的   
  dll 檔(ex:cv200.dll, cxcore200.dll, ...)。你要將這些 dll 檔連同執行檔一起複製到 roboard 裡。



這部分我有點不太懂??  您是指C:\OpenCV2.0\VC2008路徑底下的資料夾??  還是指我在PC上的Project裡面的Release資料夾??
  因為我在PC上看我Opencv安裝的路徑,底下有很多資料夾,但是沒有Release,要在Bin和Lib裡面才會有Bebud和Release這兩個資料夾
  那我是要將整個在PC上Opencv底下的Bin和Lib裡面的Release資料夾都複製到Roboard裡面嗎?
  還是我搞錯了?

再次真的很謝謝您,很抱歉一直麻煩您,謝謝!!












作者: josh    時間: 2010-10-8 09:37
關於你的第一個問題,

你用的是 opencv,跟RoBOIO labrary 沒有關係,

所以是不用下載的。

至於第二個問題,

根據你的所說的路徑,

你看看在 C:\OpenCV2.0\VC2008\release 底下,

是不是有opencv sample code 的執行檔跟 opencv 的 dll 檔(ex:cv200.dll, cxcore200.dll, ...)。

如果有的話,把整個 release 的資料夾複製到 roboard 上,就 ok 了。
作者: boy978880    時間: 2010-10-13 01:06
我的可以進去DOS視窗了, 但事會出現程式初始失敗,google了一下,視過所有方法都沒用 有誰有經驗分享一下嗎?! (opencv的dll檔我都到roborad資料夾的relase裡)
作者: boy978880    時間: 2010-10-13 12:57
謝謝各位 我搞定了 重點就在於修改cxtype.h跟build都必須重作 在複製完成後的檔案執行檔進到RB就可以執行了




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2