OpenCV-Python 中文教程

OpenCV官方教程中文版(For Python)

OpenCV2-Python-Tutorials

段力辉 译

说明:搬运自linux公社pdf文件,粗略搬运,仅作个人笔记参考,有时间再美化

部分文件参考:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html

索引目录

I 走进 OpenCV 10

II OpenCV 中的 Gui 特性 

III 核心操作 

IV OpenCV 中的图像处理(一)

IV OpenCV 中的图像处理(二)

IV OpenCV 中的图像处理(三)

IV OpenCV 中的图像处理(四)

IV OpenCV 中的图像处理(五)

IV OpenCV 中的图像处理(六)

V 图像特征提取与描述(一) 

V 图像特征提取与描述(二)

VI 视频分析 

VII 摄像机标定和 3D 重构 

VIII 机器学习 

IX 计算摄影学 

说明:搬运自linux公社pdf文件,粗略搬运,仅作个人笔记参考,有时间再美化

部分文件参考:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html

详细目录(译者说明附在末尾)

I 走进 OpenCV 10

1 关于 OpenCV-Python 教程 10
2 在 在 Windows 上安装 OpenCV-Python 11
3 在 在 Fedora 上安装 OpenCV-Python 12

II OpenCV 中的 Gui 特性 13

4 图片 13
4.1 读入图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 显示图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 保存图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 总结一下 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 视频 18
5.1 用摄像头捕获视频 . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 从文件中播放视频 . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 保存视频 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6 OpenCV 中的绘图函数 24
6.1 画线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 画矩形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.3 画圆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.4 画椭圆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.5 画多边形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.6 在图片上添加文字 . . . . . . . . . . . . . . . . . . . . . . . . . 26
7 把鼠标当画笔 28
7.1 简单演示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2 高级一点的示例 . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8 用滑动条做调色板 32
8.1 代码示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

III 核心操作 36

9 图像的基础操作 36
9.1 获取并修改像素值 . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.2 获取图像属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.3 图像 ROI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.4 拆分及合并图像通道 . . . . . . . . . . . . . . . . . . . . . . . . 40
9.5 为图像扩边(填充) . . . . . . . . . . . . . . . . . . . . . . . . 41
10 图像上的算术运算 43
10.1图像加法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.2图像混合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
10.3按位运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
11 程序性能检测及优化 47
11.1使用 OpenCV 检测程序效率 . . . . . . . . . . . . . . . . . . . 47
11.2OpenCV 中的默认优化 . . . . . . . . . . . . . . . . . . . . . . 48
11.3在 IPython 中检测程序效率 . . . . . . . . . . . . . . . . . . . 49
11.4更多 IPython 的魔法命令 . . . . . . . . . . . . . . . . . . . . . 51
11.5效率优化技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
12OpenCV 中的数学工具 53

IV OpenCV 中的图像处理 54

13 颜色空间转换 54
13.1转换颜色空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
13.2物体跟踪 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
13.3怎样找到要跟踪对象的 HSV 值? . . . . . . . . . . . . . . . . . 57
14 几何变换 59
14.1扩展缩放 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
14.2平移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
14.3旋转 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
14.4仿射变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
14.5透视变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
15 图像阈值 66
15.1简单阈值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
15.2自适应阈值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
15.3Otsu’s 二值化 . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
15.4Otsu’s 二值化是如何工作的? . . . . . . . . . . . . . . . . . . 72
16 图像平滑 75
16.1平均 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
16.2高斯模糊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
16.3中值模糊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
16.4双边滤波 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
17 形态学转换 81
17.1腐蚀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
17.2膨胀 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
17.3开运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.4闭运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.5形态学梯度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
17.6礼帽 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
17.7黑帽 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
17.8形态学操作之间的关系 . . . . . . . . . . . . . . . . . . . . . . . 84
18 图像梯度 87
18.1Sobel 算子和 Scharr 算子 . . . . . . . . . . . . . . . . . . . . 87
18.2Laplacian 算子 . . . . . . . . . . . . . . . . . . . . . . . . . . 87
19Canny 边缘检测 91
19.1原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
19.1.1噪声去除 . . . . . . . . . . . . . . . . . . . . . . . . . . 91
19.1.2计算图像梯度 . . . . . . . . . . . . . . . . . . . . . . . . 91
19.1.3非极大值抑制 . . . . . . . . . . . . . . . . . . . . . . . . 91
19.1.4滞后阈值 . . . . . . . . . . . . . . . . . . . . . . . . . . 92
19.2OpenCV 中的 Canny 边界检测 . . . . . . . . . . . . . . . . . 92
20 图像金字塔 94
20.1原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
20.2使用金字塔进行图像融合 . . . . . . . . . . . . . . . . . . . . . 96
21OpenCV 中的轮廓 101
21.1初识轮廓 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
21.1.1什么是轮廓 . . . . . . . . . . . . . . . . . . . . . . . . . 101
21.1.2怎样绘制轮廓 . . . . . . . . . . . . . . . . . . . . . . . . 101
21.1.3轮廓的近似方法 . . . . . . . . . . . . . . . . . . . . . . 102
21.2轮廓特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
21.2.1矩 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
21.2.2轮廓面积 . . . . . . . . . . . . . . . . . . . . . . . . . . 104
21.2.3轮廓周长 . . . . . . . . . . . . . . . . . . . . . . . . . . 105
21.2.4轮廓近似 . . . . . . . . . . . . . . . . . . . . . . . . . . 105
21.2.5凸包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
21.2.6凸性检测 . . . . . . . . . . . . . . . . . . . . . . . . . . 107
21.2.7边界矩形 . . . . . . . . . . . . . . . . . . . . . . . . . . 107
21.2.8最小外接圆 . . . . . . . . . . . . . . . . . . . . . . . . . 108
21.2.9椭圆拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . 109
21.2.10 直线拟合 . . . . . . . . . . . . . . . . . . . . . . . . . . 109
21.3轮廓的性质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
21.3.1长宽比 . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
21.3.2Extent . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
21.3.3Solidity . . . . . . . . . . . . . . . . . . . . . . . . . . 111
21.3.4Equivalent Diameter . . . . . . . . . . . . . . . . . . 112
21.3.5方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
21.3.6掩模和像素点 . . . . . . . . . . . . . . . . . . . . . . . . 112
21.3.7最大值和最小值及它们的位置 . . . . . . . . . . . . . . . 113
21.3.8平均颜色及平均灰度 . . . . . . . . . . . . . . . . . . . . 113
21.3.9极点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
21.4轮廓:更多函数 . . . . . . . . . . . . . . . . . . . . . . . . . . 115
21.4.1凸缺陷 . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
21.4.2Point Polygon Test . . . . . . . . . . . . . . . . . . . . 116
21.4.3形状匹配 . . . . . . . . . . . . . . . . . . . . . . . . . . 117
21.5轮廓的层次结构 . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21.5.1什么是层次结构 . . . . . . . . . . . . . . . . . . . . . . 119
21.5.2OpenCV 中层次结构 . . . . . . . . . . . . . . . . . . . 120
21.5.3轮廓检索模式 . . . . . . . . . . . . . . . . . . . . . . . . 120
22 直方图 124
22.1直方图的计算,绘制与分析 . . . . . . . . . . . . . . . . . . . . 124
22.1.1统计直方图 . . . . . . . . . . . . . . . . . . . . . . . . . 124
22.1.2绘制直方图 . . . . . . . . . . . . . . . . . . . . . . . . . 126
22.1.3使用掩模 . . . . . . . . . . . . . . . . . . . . . . . . . . 128
22.2直方图均衡化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
22.2.1OpenCV 中的直方图均衡化 . . . . . . . . . . . . . . . . 132
22.2.2CLAHE 有限对比适应性直方图均衡化 . . . . . . . . . . 132
22.32D 直方图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
22.3.1介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
22.3.2OpenCV 中的 2D 直方图 . . . . . . . . . . . . . . . . . 135
22.3.3Numpy 中 2D 直方图 . . . . . . . . . . . . . . . . . . . 136
22.3.4绘制 2D 直方图 . . . . . . . . . . . . . . . . . . . . . . 136
22.4直方图反向投影 . . . . . . . . . . . . . . . . . . . . . . . . . . 141
22.4.1Numpy 中的算法 . . . . . . . . . . . . . . . . . . . . . 141
22.4.2OpenCV 中的反向投影 . . . . . . . . . . . . . . . . . . 143
23 图像变换 146
23.1傅里叶变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
23.1.1Numpy 中的傅里叶变换 . . . . . . . . . . . . . . . . . . 146
23.1.2OpenCV 中的傅里叶变换 . . . . . . . . . . . . . . . . . 148
23.1.3DFT 的性能优化 . . . . . . . . . . . . . . . . . . . . . . 150
23.1.4为什么拉普拉斯算子是高通滤波器? . . . . . . . . . . . 152
24 模板匹配 155
24.1OpenCV 中的模板匹配 . . . . . . . . . . . . . . . . . . . . . . 155
24.2多对象的模板匹配 . . . . . . . . . . . . . . . . . . . . . . . . . 158
25Hough 直线变换 160
25.1OpenCV 中的霍夫变换 . . . . . . . . . . . . . . . . . . . . . . 161
25.2Probabilistic Hough Transform . . . . . . . . . . . . . . . . 163
26Hough 圆环变换 165
27 分水岭算法图像分割 168
27.1代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
28 使用 GrabCut 算法进行交互式前景提取 173
28.1演示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

V 图像特征提取与描述 178

29 理解图像特征 178
29.1解释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
30Harris 角点检测 181
30.1OpenCV 中的 Harris 角点检测 . . . . . . . . . . . . . . . . . 182
30.2亚像素级精确度的角点 . . . . . . . . . . . . . . . . . . . . . . . 184
31Shi-Tomasi 角点检测 & 适合于跟踪的图像特征 187
31.1代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
32 介绍 SIFT(Scale-Invariant Feature Transform) 190
33 介绍 SURF(Speeded-Up Robust Features) 195
33.1OpenCV 中的 SURF . . . . . . . . . . . . . . . . . . . . . . . 197
34 角点检测的 FAST 算法 200
34.1使用 FAST 算法进行特征提取 . . . . . . . . . . . . . . . . . . . 200
34.2机器学习的角点检测器 . . . . . . . . . . . . . . . . . . . . . . . 201
34.3非极大值抑制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
34.4总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
34.5OpenCV 中 FAST 特征检测器 . . . . . . . . . . . . . . . . . . 202
35BRIEF(Binary Robust Independent Elementary Features) 205
35.1OpenCV 中的 BRIEF . . . . . . . . . . . . . . . . . . . . . . 205
36ORB (Oriented FAST and Rotated BRIEF) 207
36.1OpenCV 中的 ORB 算法 . . . . . . . . . . . . . . . . . . . . . 208
37 特征匹配 211
37.1Brute-Force 匹配的基础 . . . . . . . . . . . . . . . . . . . . . 211
37.2对 ORB 描述符进行蛮力匹配 . . . . . . . . . . . . . . . . . . . 212
37.3匹配器对象是什么? . . . . . . . . . . . . . . . . . . . . . . . . 213
37.4对 SIFT 描述符进行蛮力匹配和比值测试 . . . . . . . . . . . . . 213
37.5FLANN 匹配器 . . . . . . . . . . . . . . . . . . . . . . . . . . 214
38 使用特征匹配和单应性查找对象 218
38.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
38.2代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

VI 视频分析 222

39Meanshift 和 和 Camshift 222
39.1Meanshift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
39.2OpenCV 中的 Meanshift . . . . . . . . . . . . . . . . . . . . 223
39.3Camshift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
39.4OpenCV 中的 Camshift . . . . . . . . . . . . . . . . . . . . . 226
40 光流 231
40.1光流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
40.2Lucas-Kanade 法 . . . . . . . . . . . . . . . . . . . . . . . . . 232
40.3OpenCV 中的 Lucas-Kanade 光流 . . . . . . . . . . . . . . . 232
40.4OpenCV 中的稠密光流 . . . . . . . . . . . . . . . . . . . . . . 235
41 背景减除 238
41.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
41.2BackgroundSubtractorMOG . . . . . . . . . . . . . . . . . 238
41.3BackgroundSubtractorMOG2 . . . . . . . . . . . . . . . . . 239
41.4BackgroundSubtractorGMG . . . . . . . . . . . . . . . . . 240
41.5结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

VII 摄像机标定和 3D 重构 243

42 摄像机标定 243
42.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
42.2代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
42.2.1设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
42.2.2标定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
42.2.3畸变校正 . . . . . . . . . . . . . . . . . . . . . . . . . . 247
42.3反向投影误差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
43 姿势估计 250
43.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
43.1.1渲染一个立方体 . . . . . . . . . . . . . . . . . . . . . . 252
44 对极几何(Epipolar Geometry ) 254
44.1基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
44.2代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
45 立体图像中的深度地图 259
45.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
45.2代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

VIII 机器学习 261

46K 近邻(k-Nearest Neighbour ) 261
46.1理解 K 近邻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
46.1.1OpenCV 中的 kNN . . . . . . . . . . . . . . . . . . . . 262
46.2使用 kNN 对手写数字 OCR . . . . . . . . . . . . . . . . . . . 266
46.2.1手写数字的 OCR . . . . . . . . . . . . . . . . . . . . . . 266
46.2.2英文字母的 OCR . . . . . . . . . . . . . . . . . . . . . . 268
47 支持向量机 270
47.1理解 SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
47.1.1线性数据分割 . . . . . . . . . . . . . . . . . . . . . . . . 270
47.1.2非线性数据分割 . . . . . . . . . . . . . . . . . . . . . . 271
47.2使用 SVM 进行手写数据 OCR . . . . . . . . . . . . . . . . . . 273
48K 值聚类 277
48.1理解 K 值聚类 . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
48.1.1T 恤大小问题 . . . . . . . . . . . . . . . . . . . . . . . . 277
48.1.2它是如何工作的? . . . . . . . . . . . . . . . . . . . . . 278
48.2OpenCV 中的 K 值聚类 . . . . . . . . . . . . . . . . . . . . . . 281
48.2.1理解函数的参数 . . . . . . . . . . . . . . . . . . . . . . 281
48.2.2仅有一个特征的数据 . . . . . . . . . . . . . . . . . . . . 282
48.2.3颜色量化 . . . . . . . . . . . . . . . . . . . . . . . . . . 286

IX 计算摄影学 288

49 图像去噪 288
49.1OpenCV 中的图像去噪 . . . . . . . . . . . . . . . . . . . . . . 289
49.1.1cv2.fastNlMeansDenoisingColored() . . . . . . . . 290
49.1.2cv2.fastNlMeansDenoisingMulti() . . . . . . . . . . 290
50 图像修补 294
50.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
50.2代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
X 对象检测 297
51 使用 Haar 分类器进行面部检测 297
51.1基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
51.2OpenCV 中的 Haar 级联检测 . . . . . . . . . . . . . . . . . . 299

为什么翻译此书?
段力辉

1 为什么使用 Python
  Python 作为一种高效简洁的直译式语言非常适合我们用来解决日常工作的问题。而且它简单易学,初学者几个小时就可以基本入门。再加上 Numpy 和 matplotlib 这两个翅膀,Python 对数据分析的能力不逊于Matlab。Python 还被称为是胶水语言,有很多软件都提供了 Python 接口。尤其是在 linux 下,可以使用 Python 将不同的软件组成一个工作流,发挥每一个软件自己最大的优势从而完成一个复杂的任务。比如我们可以使用 Mysql 存储数据,使用 R 分析数据,使用 matplotlib 展示数据,使用OpenGL 进行 3D 建模,使用 Qt 构建漂亮的 GUI。而 Python 可以将他们联合在一起构建一个强大的工作流。

2 为什么使用 Python-OpenCV
  虽然 python 很强大,而且也有自己的图像处理库 PIL,但是相对于OpenCV 来讲,它还是弱小很多。跟很多开源软件一样 OpenCV 也提供了完善的 python 接口,非常便于调用。OpenCV 的稳定版是 2.4.8,最新版是 3.0,包含了超过 2500 个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用 OpenCV 的函数来实现,超级方便。

3 为什么是这本书
  但是非常可惜关于在 Python 下使用 OpenCV 的书,除了这本在线教程之外,仅有一个 100 多页的书 opencv computer vision with python(本书虽然挺好的,但是不够全面,不能让读者完全了解 opencv 的现状)。而我翻译的这本书是来源于 OpenCV 的官方文档,内容全面,对各种的算法的描述简单易懂,而且不拘泥于长篇大论的数学推导,非常适合想使用OpenCV 解决实际问题的人,对他们来说具体的数学原理并不重要,重要是能解决实际问题。
在国内这本书可以说是第一本 Python_OpenCV 的译作。

4 本书的时效性
  本书的编写时针对最新的 OpenCV3.0 的,本版本还没有正式发布(但很稳定),其中的内容页非常新,甚至用到了 2012 年才提出的算法。因此本书的时效性上应该是没有问题的。

5 本书的目标读者
  本书针的读者是高校学生,科研工作者,图像处理爱好者。对于这些人群,他们往往是带着具体的问题,在苦苦寻找解决方案。为了一个小问题就让他们去学习 C++ 这么深奥的语言几乎是不可能的。而 Python 的悄然兴起给他们带来的希望,如果说 C++ 是 tex 的话,那 Python 的易用性相当于 word。他们可以很快的看懂本书的所有代码,并可以学着使用它们来解决自己的问题,同时也能拓展自己的视野。别人经常说 Python 不够快,但是对于上面的这些读者,我相信这不是问题,现在我们日常使用的PC 机已经无比强大了,而且绝大多数情况下不会用到实时处理,更不会在嵌入式设备上使用。因此这不是问题。

OpenCV-Python
段力辉
2014 年 1 月 30 日

OpenCV-Python 中文教程(搬运)目录的更多相关文章

  1. 【Python】Python基础教程系列目录

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...

  2. Python基础教程系列目录,最全的Python入门系列教程!

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...

  3. NBearV3中文教程总目录

    1.NBearV3 Step by Step教程——ORM篇 摘要:本教程演示如何基于NBearV3的ORM模块开发一个Web应用程序的全过程.本教程演示的实体关系包括:继承.1对1关联.1对多关联, ...

  4. 大爽Python入门教程 总目录

    作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 大爽Python入门公开课教案 本篇博客为公开课教案目录,正文内容在目录章节链接的博客里 除目录本身外,没有链接的章节, ...

  5. 《Python简明教程》总结

    Python经典教程<Python简明教程> 目录: 为什么Python 安装Python 体验Python Python数据类型 运算符与表达式 控制流 函数 模块 数据结构 解决问题 ...

  6. 老猿Python博客文章目录索引

    本目录提供老猿Python所有相关博文的一级目录汇总,带星号的为收费专栏: 一.专栏列表 本部分为老猿所有专栏的列表,每个专栏都有该专栏置顶的博文目录: 专栏:Python基础教程目录 专栏:* 使用 ...

  7. Python消息队列工具 Python-rq 中文教程

    原创文章,作者:Damon付,如若转载,请注明出处:<Python消息队列工具 Python-rq 中文教程>http://www.tiangr.com/python-xiao-xi-du ...

  8. 学习参考《Python基础教程(第3版)》中文PDF+英文PDF+源代码

    python基础教程ed3: 基础知识 列表和元组 字符串 字典 流程控制 抽象(参数 作用域 递归) 异常 魔术方法/特性/迭代器 模块/标准库 文件 GUI DB 网络编程 测试 扩展python ...

  9. Python MoviePy中文教程导览及可执行音视频剪辑工具下载

    ☞ ░ 前往老猿Python博文目录 ░ <Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载>是老猿两个关于moviepy的专栏<PyQt+moviepy ...

随机推荐

  1. VBS计时器

    用VBS实现一个以分钟为单位的计时器: rem msgbox now 'now is the system para msgbox "Timer",,"CreatedBy ...

  2. CSS学习——基础分类整理

        1. CSS     层叠样式表: Cascading Style Sheets,定义如何显示html元素 CSS规则: 选择器{属性: 值; 属性: 值;} CSS注释: /*在这里写注释说 ...

  3. mouseover、mouseout与mouseenter、mouseleave

    待定 附加链接: http://www.aijquery.cn/Html/jqueryrumen/129.html

  4. centos7查看yum安装的软件及路径

    rpm -qa 查看所有已安装软件名称 rpm -ql 软件名 显示软件的安装路径

  5. JAVA项目中常用的异常处理情况总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

  6. python面试1-30题

    1.一行代码实现1--100之和 利用sum()函数求和 2.如何在一个函数内部修改全局变量 利用global 修改全局变量 3.列出5个python标准库 os:提供了不少与操作系统相关联的函数 s ...

  7. Hive shell 基本命令

    首先连接 hive shell 直接输入 hive启动, 使用--开头的字符串来表示注释 hive>quit; --退出hive hive> exit; --exit会影响之前的使用,所以 ...

  8. Allegro PCB Design GXL (legacy) 元器件的坐标文件

    Allegro PCB Design GXL (legacy) version 16.6-2015 一.菜单:Tools > Reports... 二.在“Available Reports ( ...

  9. C++ Primer 笔记——固有的不可移植的特性

    1.为了支持底层编程,C++定义了一些固有的不可移植的特性,所谓不可移植特性是指因机器而异的特性. 2.一个位域中含有一定数量的二进制位,位域在内存中的布局是机器相关的.位域的类型必须是整型或枚举类型 ...

  10. 20165206 2017-2018-2 《Java程序设计》第二周学习总结

    20165205 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 java语言共有8种基本数据类型,分别是boolean.byte.short.char.in ...