放弃MATLAB!简述winpython为何比MATLAB更方便

费了几天功夫,终于将Python科学计算工具winpython给熟悉了个大概,基本知足本身的须要了。费话很少说,立刻讲解决一下为何python如此让人着迷:python

1.下载算法

Python的IDE发行版有不少,不过,最经常使用的是winpython,它轻巧,包含了经常使用的科学计算工具包numpy,scipy,sklearn,matplotlib,还有能够调用C动态库的扩展包ctypes,更好的是它有32位和64位,我是常常须要用到超过4G的内存,因此我选择了64位版本。函数

下截地址:http://sourceforge.net/projects/winpython工具

2.工具包简介学习

winpython其实是整合了IDE工具spyder和一些科学计算包,默认包含了如下工具包,有了这些工具包,彻底能够替代MATLAB作科学计算:优化

numpy,scipy:数值计算工具包,里面我含了各类矩阵算,MATLAB有的,它基本上都有。不过,里面有array和matrix两种类型,最好是用array类型的,由于它的功能最全,大部分函数处理的类型都是array。scipy实际上包含了numpy的功能,而且还有2D绘图子工具包pylab,里面的plot用法很像matlab的。scipy里有各类最优化算法,矩阵操做,好比约束最优化,非约束最优化,矩阵求逆,矩阵分解,等等,它的官方在线文档:http://docs.scipy.org/doc/scipy/reference/网站

matplotlib:2D和3D绘图工具,绘图功能强大,各类数据可视化表现方式,没有作不到的,只有你想不到的。.net

sklearn:各类学习算法,聚类算法都在里面,好比svm,k-means,KNN,PCA,随机森林等等一大堆。官方网站:http://scikit-learn.org/stable/视频

ctypes:能使python和c交流的工具包有好几个,可是我认这个最好用,由于,你能够用VS生成一个动态库,而ctypes则能够直接去调用动态库中的函数。当你要处理复杂运算时,用纯粹的python实现出来的会慢的有如世界末日,可是用C实现无疑是最快的办法,而ctypes则能够帮你轻松作到这一点。想一想matlab和c的混编,光是数据提取和类型转换就是一堆,估计不少人会有种想死的感受。因为ctypes实现了python便捷访问c动态库的功能,你会以为python和c的混编是一件很是轻松快乐的事情。它的方便之处还在于,numpy或scipy的数据成员中是默认包含ctypes的,这使python到c函数的各类数据类型的参数传递变得异常简单。ip

3.关于opencv的python版本

opencv,搞cv的都很熟悉,值得高兴的是,opencv是有python版本的。若是matlab要调用opencv的函数麻烦的有如在地狱挣扎,那么在python中使用opencv就如同在天堂里跳舞同样。matlab读视频的函数耗时之大,我是亲身经历的,而且深受其害,可是opencv读视频是很是快速的,而pyhon能够很方便的调用opencv中的函数,因此这其中的好处天然没必要多说了。

python_opencv下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

从上面的地址中下载现成的带ffmpeg的python_opencv,而后将里面的全部文件都拷贝到Lib\site-packages下同就可使用了。或者你有耐心的话也能够从opencv的官方网站下载源码本身编译。

相关文章
相关标签/搜索