hahn9999 發表於 2010-10-4 18:23:31

新問題有關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:04

我不太懂你所指的,在OPENCV裡面安裝的OPENCV是什麼意思??



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

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

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

你 build 出來的執行檔應該沒有辦法執行才是。

hahn9999 發表於 2010-10-5 11:38:37

回復 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:08

如果你只是要在 roboard 上執行程式的話,可以不用安裝 opencv。

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

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

最後,

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

可以節省你寶貴的時間。

hahn9999 發表於 2010-10-5 17:57:36

回復 4# josh


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


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

不好意思,打擾了!!

hahn9999 發表於 2010-10-5 19:08:16

回復 4# josh

Josh大大你好

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

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

請問是指什麼dll檔?

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

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


目前我的流程如下:

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

2.將整個Release資料夾放入Roboard,直接執行.exe檔!

hahn9999 發表於 2010-10-5 19:40:01

回復 4# josh

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

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


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


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




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


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


還是流程有誤?


我會再努力試試看,也希望Josh大大給我再給我點指導!!謝謝您~~!

hahn9999 發表於 2010-10-5 21:02:49

回復 4# josh

如圖所示:




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

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


一直找不到原因!!

josh 發表於 2010-10-7 11:24:06

如果你重新 build opencv 後,會所產生的新的執行檔。

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

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

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

這樣就可以成功執行了。

更簡單的作法是,把整個 release 資料夾複製到 roboard 裡執行即可。

josh 發表於 2010-10-7 11:58:56

另外,要先確定有到 roboard 官網下載 Visual C++ 的套件來安裝。

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

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

hahn9999 發表於 2010-10-7 19:50:30

回復 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:33

關於你的第一個問題,

你用的是 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:23

我的可以進去DOS視窗了, 但事會出現程式初始失敗,google了一下,視過所有方法都沒用 有誰有經驗分享一下嗎?! (opencv的dll檔我都到roborad資料夾的relase裡)

boy978880 發表於 2010-10-13 12:57:26

謝謝各位 我搞定了 重點就在於修改cxtype.h跟build都必須重作 在複製完成後的檔案執行檔進到RB就可以執行了
頁: [1]
查看完整版本: 新問題有關RB上使用OPENCV