我很快将开始最后一年的工程项目,包括实时跟踪在 2D 表面上移动的物体。这些对象将由我的算法使用 feature extraction 注册.
我正在尝试做一些研究来决定我应该使用 MATLAB 还是使用 Python Numpy(Numerical Python)。我正在考虑的一些因素:
1.) 经验
我在这两个方面都有相当的经验,但在使用 Numpy 进行图像处理方面可能更有经验。但是,我一直发现 MATLAB 非常直观且易于上手。
2.) 实时能力
非常重要的一点是我的选择能够支持实时采集外接摄像头的视频数据。我找到了 MATLAB 的链接展示如何去做。我确信对于 Python 也是可能的,或许使用 OpenCV 库?
3.) 性能
我听说,虽然从未使用过,但 MATLAB 可以轻松地将独立计算拆分为 multiple cores .我认为这会非常有用,我不确定 Numpy 是否同样简单?
4.) 价格
我知道使用 MATLAB 会产生相关费用,但我将在大学工作,因此我可以免费使用完整的 MATLAB,因此价格不是一个因素。
我将非常感谢任何做过类似事情的人的任何意见,以及你的经验。 谢谢!
最佳答案
Python(带有 NumPy、SciPy 和 MatPlotLib)是新的 Matlab。所以我强烈推荐 Python 而不是 Matlab。
我在一年多前进行了更改,我对结果非常满意。
这是 Python 和 Matlab 的简短优缺点列表
Python 专家:
- 面向对象
- 易于编写大型“真实”程序
- 开源(因此完全免费使用)
- 快速(大多数繁重的计算算法都有一个 python 包装器来连接 C 库,例如 NumPy、SciPy、SciKits、libSVM、libLINEAR)
- 舒适的环境,高度可配置(iPython,用于 VIM 的 python 模块,...)
- 快速发展的 Python 用户社区。大量文档和愿意提供帮助的人
Python 缺点:
- 安装起来可能会很痛苦(尤其是 OS X 中的某些模块)
- 绘图操作不像在 Matlab 中那么好/容易,尤其是 3D 绘图或动画
- 它仍然是一种脚本语言,因此只能将其用于(快速)原型(prototype)制作
- Python 不是为多核编程而设计的
Matlab 专家:
- 非常容易安装
- 强大的工具箱(例如信号处理、系统生物学)
- 只要购买许可,即可获得统一文档和个性化支持
- 易于绘制动画和交互式图形(我发现这对运行实验非常有用)
Matlab 缺点:
- 不是免费的(而且很贵)
- 基于 Java + X11,看起来非常丑陋(好吧,我承认我在这里完全有偏见)
- 难以编写大型且可扩展的程序
- 许多 Matlab 用户正在转向 Python :)
关于python - 对象跟踪 : MATLAB vs. Python Numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11133724/