我在QtCreator環境中使用C++進行圖像分析。爲了構建學習模型,我想使用MATLAB中的TreeBagger類,它非常強大。我可以從QtCreator調用MATLAB,給它一些參數,並找回分類錯誤?我可以做到這一點,而不使用mex文件?是否可以從QtCreator調用Matlab?
1
A
回答
2
從QProcess中的同步進程API例如:
QProcess gzip;
gzip.start("gzip", QStringList() << "-c");
if (!gzip.waitForStarted())
return false;
gzip.write("Qt rocks!");
gzip.closeWriteChannel();
if (!gzip.waitForFinished())
return false;
QByteArray result = gzip.readAll();
的概念,從這個例子就是能夠執行MATLAB瓦特/任何設置,這將是最好,並立即開始編寫腳本,以它的進程。寫完之後;你可以關閉通道,等待響應,然後從matlab中讀取結果。令人遺憾的是,我沒有經歷過提供更直接的例子,但這是大多數情況下的概念。請研究任何其他文件。
1
Matlab有一個描述爲here的「引擎」接口,讓獨立程序調用matlab函數。它的優點是您可以撥打engPutVariable
和engGetVariable
以二進制格式傳輸數據(我認爲它通過在您的進程和matlab之間使用共享內存來工作,但我不確定),所以您不必將你的數據轉換爲ascii並解析ascii的結果。
對於C++,你可能想寫一個RAII的包裝類,或者看看http://www.codeproject.com/Articles/4216/MATLAB-Engine-API,這裏已經完成了。
相關問題
- 1. 是否可以從main()調用SKReceiptRefreshRequest?
- 2. 是否可以從onPostExecute調用doInBackground?
- 3. 是否可以從JavaScript調用iOS UIAlertView?
- 4. 是否可以從Java調用COM API?
- 5. 是否可以從JavaScript調用hamlet?
- 6. 是否可以從Java調用BlazeDS?
- 7. 是否可以從.NET調用OCaml?
- 8. 是否可以調用不在MATLAB路徑中的函數?
- 9. 是否有可能從Silverlight/C#中調用matlab函數?
- 10. 是否可以從Visual Studio調試QML?
- 11. 是否可以從C#程序調用JIT調試器窗口?
- 12. 是否可以調試Global.asax?
- 13. 是否可以從matlab矩陣中刪除元素?
- 14. 你可以調用AudioObjectSetPropertyData是否同步?
- 15. 是否可以完成調用活動
- 16. 是否可以在不調用XmlWriter.WriteStartDocument()
- 17. 是否可以在不調用open()
- 18. 是否可以抽象startActivity調用?
- 19. 是否可以在塊內調用yield?
- 20. 是否可以在GJS中調用Gdk.Seat.grab()?
- 21. 是否可以同步調用ngResource?
- 22. 是否可以取消RPC調用?
- 23. 是否可以攔截Documentum API調用?
- 24. 是否可以重寫「調用」函數?
- 25. 是否可以多線程調用GPU?
- 26. 是否可以調用存儲過程?
- 27. 是否可以在Android中調用GC?
- 28. 線程是否可以調用線程?
- 29. 是否可以使用從jsonp調用返回的「壞」數據?
- 30. 是否可以從我的Android應用程序中調用AlertDialog?
您是否研究過打開matlab.exe並通過類似QProcess的方式工作? – dans3itz
@ dans3itz不,你能告訴我更多關於它嗎? – WildThing