opencv3编程入门-毛星云

第1章 邂逅OpenCV

1.1 OpenCV周边概念认知

1.1.1 图像处理、计算机视觉与OpenCV

  • 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术

1.2 OpenCV基本架构分析

一些核心模块:

  • core: 核心功能模块包含如下内容:
    • OpenCV基本数据结构
    • 动态数据结构
    • 绘图函数
    • 数组操作和相关函数
    • 辅助功能与系统函数和宏
    • 与OpenGL的互操作
  • imgproc: Image和Process这两个单词的缩写组合,图像处理模块
  • gpu: 运用GPU加速的计算机视觉模块
  • highgui: 高层GUI图形用户界面
  • ml: Machine Learning,机器学习模块,包括如下内容:
    • 统计模型(Statistical Models)
    • 一般贝叶斯分类器(Normal Bayes Classifier)
    • K-近邻(K-Nearest Neighbors)
    • 支持向量机(Support Vector Machines)
    • 决策树(Decision Trees)
    • 提升(Boosting)
    • 梯度提高数(Gradiect Boosted Trees)
    • 随机数(Random Trees)
    • 超随机数(Extremely randomized trees)
    • 期望最大化(Expectation Maximization)
    • 神经网络(Neural Networks)
    • ML Data

OpenCV各版本的差异:
OpenCV2 带来全新的c++接口;通过CUDA和OpenCL实现GPU加速
OpenCV3 进行项目架构改变,使用内核+插件的架构方式;大部分方法都使用了OpenCL加速
OpenCV4 c++11编译器才能编译
OpenCL:
OpenCL是一个为异构平台编写程序的框架。编写语言基于c99。用于并行计算,加速计算。
openCV中集成了OpenCL
OpenCL和CUDA比较:
不同点:
OpenCL是通用的异构平台编程语言,为了兼顾不同设备,使用繁琐。
CUDA是nvidia公司发明的专门在其GPGPU上的编程的框架,使用简单,好入门
相同点:
都是基于任务并行与数据并行。
OpenGL是什么,为什么存在与OpenCV中
一个跨编程语言、跨平台的应用程序接口(API)的规格,它用于生成二维、三维图像。
在 2.3 之前 OpenCV 的渲染部分都是由 CPU 来实现的,不论是画线还是把图片显示到屏幕上。这有两个问题,速度慢,同时没法画> 三维物体。引入 OpenGL 是为了借助 显卡的力量,显卡比 CPU 更擅长渲染,同时显卡和 CPU 可以同时干活

第3章 HighGUI图形用户界面初步

函数名称 用途
imread 读取文件
imshow 显示图片
namedWindow 用于创建一个窗口
imwrite 输出文件
createTrackbar 创建一个可以调整数值的轨迹条
getTrackbarPos 获取轨迹条的当前位置
SetMouseCallback 为指定的窗口设置鼠标回调

第4章 OpenCV数据结构与基本绘图

Mat不但是一个非常有用的图像容器类,同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵。

  • OpenCV函数中输出图像的内存分配是自动完成的
  • 使用OpenCV的c++接口时不需要考虑内存的释放问题
  • 赋值运算符和拷贝构造函数(构造函数)只复制信息头
  • 使用函数clone() 或者copyTo()来复制一幅图像的矩阵

4.2 常用数据结构:

定义 释义
Point 2维点, 支持int , Point_ Point2i Point 等价
Point2f 2维点 , 支持float
Point3f 3维点
Scalar 颜色RGB
Size 颜色RGB, typedef Size_ Size2i;typedef Size2i Size
Rect 矩形
cvtColor 颜色空间转换
Matx 轻量级Mat,使用前规定好大小
Vec Matx的派生类,是一个以为的Matx,和vector很相似

OpenCV图片通道的存储顺序时BGR,而不是RGB.

4.3 基本图形的绘制

  • 绘制直线 line函数
  • 绘制椭圆 ellipse 函数
  • 绘制举行 rectangle 函数
  • 绘制圆形 circle函数
  • 多边形 fillPoly 函数

第5章 core组件进阶

5.1 访问图像中的像素

5.1.2 颜色空间缩减

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值