Python和NumPy
Python 是一门编程语言,其使用贯穿了全书的示例代码。Python 是一种简洁明了的语言,对于输入/输出、数字、图像及绘图都具有良好的支持。这门语言的一些特性需要我们逐渐适应,比如缩进和紧凑语法。要运行代码示例,你需要安装 Python 2.6 或之后的版本,因为只有这些版本才提供本书中用到的很多工具包。Python 3.x 版本与 2.x 版本有很多语法差异,并且不兼容 2.x 版本,也不兼容我们所需的工具包。
熟悉一些基本 Python 操作会更容易理解这些内容。对于 Python 初学者,我建议读一下 Mark Lutz 的书 Learning Python [20] 和 http://www.python.org/ 上的在线文档。
在进行计算机视觉编程的时候,我们需要在向量、矩阵的表示上进行操作,这可以通过 Python 的 NumPy 模块处理;在该模块中,向量和矩阵是用 array 类型表示的。对于图像,我们也将采用这种类型的表示。Travis Oliphant 的免费电子书 Guide to NumPy [24] 是一本不错的 NumPy 参考手册;http://numpy.scipy.org/ 上的文档对于刚接触 NumPy 的读者来说是一个很好的起点。对于结果的可视化,我们会用到 Matplotlib 模块;而对于更高级的数学,我们会用到 SciPy 模块。这些就是你会用到的核心模块,详见第 1 章。
除了这些核心模块,对于某些特殊目的,比如读取 JSON 或 XML、载入并保存数据、生成图、图形编程、Web 演示、分类器等,我们还会用到很多其他免费模块。这些模块只有在特殊的应用和演示中才需要,如果你对于某种应用不感兴趣,可以跳过。
用于定义。
等宽字体(Constant width )
用于函数、Python 模块及代码示例,也用于控制台打印输出。
数学公式为内联式(如 f(x)=w^Tx + b ),或者单独居中:
f(x)=\sum_{i}w_ix_i + b
只有需要参考的时候我们才对公式进行编号。
在介绍数学知识的部分,标量使用小写字母(s , r , λ , θ …),矩阵(包括图像数组 I )使用大写加粗( A , V , H ,…),向量则小写加粗( t , c ,…),二维(图像)和三维中的点分别用 x =[x , y ] 和 X [X , Y , Z ] 表示。
使用代码示例
本书旨在帮助你完成工作。通常,你可以在程序或文档中使用本书的代码。你不必联系我们请求许可,除非你要复制本书的大量代码。例如,用本书的几段代码编写程序不需要获得许可;售卖或再分发 O'Reilly 的图书示例光盘需要获得许可;引用本书和示例代码回答问题不需要获得许可;将本书中的大量示例代码纳入产品文档中需要获得许可。
【关注微信公众号:精读书单】
这里有推荐您喜欢看的好书!