最近在搞tld的演算法,首先是配置問題的解決。
最開始在win7_x64+vs2010ultimate+opencv2.4.3+matlab2011b的環境下配置 vs跑mex.sln總是個各種問題。。
後來換到32位win7,vs、opencv、matlab裝好 在matlab裡跑compile ok,跑run_tld報錯 然後看別人用xp裝成功了 覺得還是系統的問題
最後換到了xp(當然是32位的啊) 發現和win7_x86一樣的問題 顯然不是系統問題 是配置問題(xp裝的是正版的。。。)
我覺得win7不管32位還是64位應該都是可以的吧,就是配置沒弄好才跑步起來的。。不過沒去試過 。
xp下配置的過程:
1.matlab裝好(我裝的是matlab2011b)
2.vs2010裝好(我裝的是ultimate)
3.opencv裝好(我沒有用cmake編譯),記得把「c:\opencv2.2\bin」或「
c:\software\opencv\build\x86\vc10\bin
」這樣的路徑新增到系統path中(!!關鍵!)(貌似加了path後要登出的)
4.開啟matlab 依次輸入mbuild -setup(選vs2010), mex -set up(選vs2010)
5.matlab命令框裡切換到tld 路徑下(偶然發現matlab可以打基本的linux命令,爽啊),開啟compile.m修改「if isp」下的include和libpath,改成你opencv安裝的對應路徑(注意最後乙個"\"不可省略),儲存後執行 發現報錯說fspecial的問題 開啟到對應檔案中修改fspecial(小寫)儲存後執行就ok
這裡感謝samjohnson在github上的回答,詳見
如果你感覺配置好了 compile後complete, 執行run_tld後顯示「....\lk.mexw32': 找不到指定的模組,但是明明在路徑下能找到lk.mexw32 這是因為opencv/bin(或者其他路徑,見上面步驟3)沒有加入到系統path裡面去
matlab混合程式設計 deploytool
1.首先說我遇到的最大的問題,就是不能用matlab 自帶的編譯器 lcc win32,用這個可以成功編譯出dll,但是我這裡呼叫老是崩潰。我的matlab版本是2010a的win32版本,後來選用的編譯器是 microsoft visual c 2008,可以成功編譯且正確呼叫。2.設定編譯器的方...
Matlab與VC混合程式設計
眾所周知,matlab是一套功能非常強大的商業數學軟體,從訊號處理,語音處理,資料採集,數值運算,影象處理,到電子 金融分析等等,幾乎在各個工業領域,他都已經得到了廣泛應用,同時也取得了巨大的成功。但是,由於matlab是用一種指令碼語言,他的解釋是逐行執行的,程式中所有的變數都是用mxarray來...
Matlab與VC混合程式設計
眾所周知,matlab是一套功能非常強大的商業數學軟體,從訊號處理,語音處理,資料採集,數值運算,影象處理,到電子 金融分析等等,幾乎在各個工業領域,他都已經得到了廣泛應用,同時也取得了巨大的成功。但是,由於matlab是用一種指令碼語言,他的解釋是逐行執行的,程式中所有的變數都是用mxarray來...