我在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. 是否可以从MATLAB调用c#脚本?
- 2. 是否可以从.NET调用OCaml?
- 3. 是否可以从main()调用SKReceiptRefreshRequest?
- 4. 是否可以从Java调用COM API?
- 5. 是否可以从onPostExecute调用doInBackground?
- 6. 是否可以从JavaScript调用iOS UIAlertView?
- 7. 是否可以从JavaScript调用hamlet?
- 8. 是否可以从Java调用BlazeDS?
- 9. 是否可以调用不在MATLAB路径中的函数?
- 10. 是否有可能从Silverlight/C#中调用matlab函数?
- 11. 是否可以从C#程序调用JIT调试器窗口?
- 12. 是否可以调试Global.asax?
- 13. 是否可以完成调用活动
- 14. 是否可以重写“调用”函数?
- 15. 你可以调用AudioObjectSetPropertyData是否同步?
- 16. 是否可以取消RPC调用?
- 17. 是否可以同步调用ngResource?
- 18. 是否可以在块内调用yield?
- 19. 线程是否可以调用线程?
- 20. 是否可以在GJS中调用Gdk.Seat.grab()?
- 21. 是否可以调用存储过程?
- 22. 是否可以多线程调用GPU?
- 23. 是否可以拦截Documentum API调用?
- 24. 是否可以在不调用open()
- 25. 是否可以在不调用XmlWriter.WriteStartDocument()
- 26. 是否可以在Android中调用GC?
- 27. 是否可以抽象startActivity调用?
- 28. 是否可以从matlab矩阵中删除元素?
- 29. 是否可以通过引用从python调用C函数?
- 30. 是否可以隐藏从应用程序调用的号码?
您是否研究过打开matlab.exe并通过类似QProcess的方式工作? – dans3itz
@ dans3itz不,你能告诉我更多关于它吗? – WildThing