python opencv3 cookbook1: I/O和GUI

  • 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

links