摘要: 本文旨在帮助读者快速入门OpenCV,而无需阅读冗长的参考手册。掌握了OpenCV的以下基础知识后,有需要的话再查阅相关的参考手册。 目录  [隐藏] 1 一、简介 1.1 1、OpenCV的特点 1.1.1 (1) 总体描述 1.1.2 (2) 功能 1.1.3 (3) OpenCV模块 1.2 2、有用的学习资源 1.2.1 (1) 参考手册: 1.2.2 (2) 网络资源: 1.2.3 (3) 书籍: 1.2.4 (4) 视频处理例程(在 /samples/c/): 1.2.5 (5) 图像处理例程 (在 /samples/c/): 1.3 3、OpenCV 命名规则 1.3.1 (1) 函数名: 1.3.2 (2) 矩阵数据类型: 1.3.3 (3) 图像数据类型: 1.3.4 (4) 头文件: 1.4 4、编译建议 1.4.1 (1) Linux: 1.4.2 (2) Windows: 1.5 5、C例程 2 二、GUI 指令 2.1 1、窗口管理 2.1.1 (1) 创建和定位一个新窗口: 2.1.2 (2) 载入图像: 2.1.3 (3) 显示图像: 2.1.4 (4) 关闭窗口: 2.1.5 (5) 改变窗口大小: 2.2 2、输入处理 2.2.1 (1) 处理鼠标事件: 2.2.2 (2) 处理键盘事件: 2.2.3 (3) 处理滑动条事件: 3 三、OpenCV的基本数据结构 3.1 1、图像数据结构 3.1.1 (1) IPL 图像: 3.2 2、矩阵与向量 3.2.1 (1) 矩阵: 3.2.2 (2) 一般矩阵: 3.2.3 (3) 标量: 3.3 3、其它结构类型 3.3.1 (1) 点: 3.3.2 (2) 矩形框大小(以像素为精度): 3.3.3 (3) 矩形框的偏置和大小: 4 四、图像处理 4.1 1、图像的内存分配与释放 4.1.1 (1) 分配内存给一幅新图像: 4.1.2 (2) 释放图像: 4.1.3 (3) 复制图像: 4.1.4 (4) 设置/获取感兴趣区域ROI: 4.1.5 (5) 设置/获取感兴趣通道COI: 4.2 2、图像读写 4.2.1 (1) 从文件中读入图像: 4.2.2 (2) 保存图像: 4.3 3、访问图像像素 4.3.1 (1) 假设你要访问第k通道、第i行、第j列的像素。 4.3.2 (2) 间接访问: (通用,但效率低,可访问任意格式的图像) 4.3.3 (3) 直接访问: (效率高,但容易出错) 4.3.4 (4) 基于指针的直接访问: (简单高效) 4.3.5 (5) 基于 c++ wrapper 的直接访问: (更简单高效) 4.4 4、图像转换 4.4.1 (1) 字节型图像的灰度-彩色转换: 4.4.2 (2) 彩色图像->灰度图像: 4.4.3 (3) 不同彩色空间之间的转换: 4.5 5、绘图指令 4.5.1 (1) 绘制矩形: 4.5.2 (2) 绘制圆形: 4.5.3 (3) 绘制线段: 4.5.4 (4) 绘制一组线段: 4.5.5 (5) 绘制一组填充颜色的多边形: 4.5.6 (6) 文本标注: 5 五、矩阵处理 5.1 1、矩阵的内存分配与释放 5.1.1 (1) 总体上: 5.1.2 (2) 为新矩阵分配内存: 5.1.3 (3) 释放矩阵内存: 5.1.4 (4) 复制矩阵: 5.1.5 (5) 初始化矩阵: 5.1.6 (6) 初始化矩阵为单位矩阵: 5.2 2、访问矩阵元素 5.2.1 (1) 假设需要访问一个2D浮点型矩阵的第(i, j)个单元. 5.2.2 (2) 间接访问: 5.2.3 (3) 直接访问(假设矩阵数据按4字节行对齐): 5.2.4 (4) 直接访问(当数据的行对齐可能存在间隙时 possible alignment gaps): 5.2.5 (5) 对于初始化后的矩阵进行直接访问: 5.3 3、矩阵/向量运算 5.3.1 (1) 矩阵之间的运算: 5.3.2 (2) 矩阵之间的元素级运算: 5.3.3 (3) 向量乘积: 5.3.4 (4) 单一矩阵的运算: 5.3.5 (5) 非齐次线性方程求解: 5.3.6 (6) 特征值与特征向量 (矩阵为方阵): 6 六、视频处理 6.1 1、从视频流中捕捉一帧画面 6.1.1 (1) OpenCV 支持从摄像头或视频文件(AVI格式)中捕捉帧画面. 6.1.2 (2) 初始化一个摄像头捕捉器: 6.1.3 (3) 初始化一个视频文件捕捉器: 6.1.4 (4) 捕捉一帧画面: 6.1.5 (5) 释放视频流捕捉器: 6.2 2、获取/设置视频流信息 6.2.1 (1) 获取视频流设备信息:
2021-04-04 16:04:01 615KB OpenCV 编程简介 入门 必读
1
入门必读!Apache Flink 零基础系列教程,30 天成长为 Flink 大神!适合初学者
2021-03-06 12:05:43 20.76MB ApacheFlink 分布式 框架 数据流
1
推荐系统领域最经典的11片论文,具体的论文中文摘要欢迎参考我的博文,这些论文 可以说是推荐系统入门必看的经典之作,现在已经帮你整理好了。
2021-01-28 05:01:41 14.3MB 推荐系统论文
1
博洛尼亚大学(University of Bologna)Stefano Mattoccia教授的讲义,是双目立体视觉入门必读资料,200页PPT系统的讲解了双目视觉原理、双目整个流程、立体匹配算法的对比及常见的问题等。网上讲解双目视觉相关知识的博客,很多都引用过该PPT中的图片。
2020-01-04 03:14:53 51.45MB Stereo Visio 双目视觉 立体匹配
1
测试工程师入门必读 一句话理解各个测试专业名词 配有一个分析实例
2019-12-21 22:25:55 251KB 测试工程师 入门必读
1
RFID是Radio Frequency Identification的缩写,即射频识别。常称为感应式电子晶片或近接卡、感应卡、非接触卡、电子标签、电子条码,等等。 一套完整 RFID系统由 Reader 与 Transponder 两部份组成 ,其动作原理为由 Reader 发射一特定频率之无限电波能量给Transponder,用以驱动Transponder电路将內部之ID Code送出,此时Reader便接收此ID Code。 Transponder的特殊在于免用电池、免接触、免刷卡故不怕脏污,且晶片密码为世界唯一无法复制,安全性高、长寿命。
2019-12-21 20:01:22 320KB RFID
1
《Java Web从入门到精通(第2版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了进行Java Web应用程序开发应该掌握的各方面技术。《Java Web从入门到精通(第2版)》共分21章,包括Java Web应用开发概述、HTML与CSS网页开发基础、JavaScript脚本语言、搭建开发环境、JSP基本语法、JSP内置对象、JavaBean技术、Servlet技术、过滤器和监听器、Java Web的数据库操作、EL(表达式语言)、JSTL标签、Ajax技术、Struts2基础、Struts2高级技术、Hibernate技术、Hibernate高级应用、Spring核心之IoC、Spring核心之AOP、JSP操作XML、清爽夏日九宫格日记网等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java Web应用程序开发的精髓,快速提高开发技能。 《Java Web从入门到精通(第2版)》可作为软件开发入门者的自学用书,也可作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。
2019-12-21 18:52:50 156.71MB java web
1