在开发算法时,我需要使用许多知名的描述符,如SURF、HOG、Hessian,并结合分类器(如SVM)。此外,我还需要对这些算法进行大量调整(不仅仅是更改超参数)。据我所知,Matlab的计算机视觉工具箱在这方面表现得并不好。
哪个语言或软件拥有更多的开源库并提供最佳的灵活性?
回答:
OpenCV运行速度快且包含你所需的一切,我更倾向于在Python中使用它(它有Python接口)。
然后使用Scikit-learn进行机器学习,这是一个简单但功能强大的Python库,拥有一个非常活跃的开源社区。
由于你熟悉Matlab,NumPy和matplotlib应该更容易学习,它们有很多共同的方法和语法。我之前也用过Matlab,后来转到Python,发现NumPy更容易掌握。
Scipy, Pandas, Ipython-Notebook是其他可以轻松使用的库,并且与Anaconda的Python发行版一起提供。Scikit-learn也包含在Anaconda中。
只需从下面的链接下载Anaconda发行版,你就可以开始工作了,Anaconda管理得非常好,你甚至不需要担心包管理和依赖问题。