zoukankan      html  css  js  c++  java
  • OpenCV-Python 中文教程(搬运)目录

    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 日

  • 相关阅读:
    Delphi XE5 android 蓝牙通讯传输
    Delphi XE5 android toast
    Delphi XE5 android openurl(转)
    Delphi XE5 如何设计并使用FireMonkeyStyle(转)
    Delphi XE5 android 捕获几个事件
    Delphi XE5 android listview
    Delphi XE5 android 黑屏的临时解决办法
    Delphi XE5 android popumenu
    Delphi XE5 android 获取网络状态
    Delphi XE5 android 获取电池电量
  • 原文地址:https://www.cnblogs.com/Undo-self-blog/p/8423851.html
Copyright © 2011-2022 走看看