- I/O和GUI 图像的基本操作以及视频:加载、保存和显示。
- 矩阵,颜色和过滤器,访问图像,通道和图像的区域、像素。各种颜色空间之间的转换和过滤器的使用
- 轮廓和分段。显示如何创建图像掩码,查找轮廓和细分图像。
- 对象检测和机器学习,描述检测和跟踪不同类型的物体,特别是(QR代码和ArUCo标记)
- 深度学习概述了OpenCV中的新功能与深层神经网络连接。加载深度学习模型并将其应用于计算机视觉任务。
- 线性代数。解决线性代数问题型并将其应用于计算机视觉。
- 测器和描述符 包含有关如何使用图像特征描述符:如何用它们进行计算、显示、匹配
- 图像和视频处理 图像序列并根据相关性得到结果序列。
- 多视图几何 如何使用摄像机检索关于场景的3D几何的信息
第一章:I/O和GUI
介绍
很少没有任何缺失值的数据集。 有许多缺失数据的表示。 在数据库中是NULL值,一些编程语言使用NA。缺失值可以是空字符串:''或者甚至是数值88或99等。Pandas显示缺失值为NaN。
本章将涵盖:
- 从文件中读取图像
- 简单的图像转换 - 调整大小和翻转
- 使用有损和无损压缩保存图像
- 在OpenCV窗口中显示图像
- 使用UI元素(如按钮和轨迹栏)
- 绘制2D基元 - 标记,线条,椭圆,矩形,和文本
- 处理来自键盘的用户输入
- 处理鼠标输入
- 从相机捕获和显示帧
- 从视频播放帧流
- 获取帧流属性
- 将视频流写入视频
- 在视频文件中的帧之间跳转
从文件中读取图像
01 Reading image from file.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import argparse
import cv2
parser = argparse.ArgumentParser()
parser.add_argument('--path', default='../data/Lena.png', help='Image path.')
params = parser.parse_args()
img = cv2.imread(params.path)
# Check if image was successfully read.
assert img is not None
print('read {}'.format(params.path))
print('shape:', img.shape)
print('dtype:', img.dtype)
img = cv2.imread(params.path, cv2.IMREAD_GRAYSCALE)
assert img is not None
print('read {} as grayscale'.format(params.path))
print('shape:', img.shape)
print('dtype:', img.dtype)
|
执行结果
1 2 3 4 5 6 7 | $ python3 01\ Reading\ image\ from\ file.py
read ../data/Lena.png
shape: (512, 512, 3)
dtype: uint8
read ../data/Lena.png as grayscale
shape: (512, 512)
dtype: uint8
|