视频的抓取与处理

该博客介绍了视频处理的基础,包括使用numpy表示和处理图像,详细讲解了图像的读取、保存、数组操作以及像素访问。此外,还涵盖了UI设计,如何使用QtDesigner创建界面并将其转换为Python代码,以及摄像头视频的抓取和在Qt中显示图像的方法。
摘要由CSDN通过智能技术生成

视频的抓取与处理

0. 准备工作,下载内容

*pyqt5 
*opencv: pip install opencv-python
*opencv: pip install opencv-contrib-python
*pyqt5-tools : pip install pyqt5-tools
---- 
numpy : pip install numpy
scipy : pip install scipy

1. 图像的表示与基本处理

numpy
cv2::Mat ----- numpy : 二维向量 ; 图像还可以表示为张量(Tensorflow + Pytorch) ,张量可以求导

1.1. 读取一副图像

opencv: imread —— 读一个文件
imwrite —— 写一个文件

1.2. 图像的表示使用的是numpy中的数组数据结构

1.3. 数组操作完成图形的核心处理

numpy.ndarray类的使用

图像是三维(二维)数组:

  • 0-d:height 图像的高
    1-d:width 图像的宽
    2-d:channel 图像的通道
    - 像素的深度:像素的颜色表示:颜色空间 : 向量(R, G, B,A): 还有其他的颜色空间
    - 通常的颜色空间:RGBA颜色空间 (opencv:颜色深度:颜色分量,每个分量的类型)
  • 数组在python使用ndarray封装

1.4. 构造ndarray,保存

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度
import cv2
import numpy 
img = numpy.ndarray( shape=(500, 500, 3), dtype=numpy.uint8)
cv2.imwrite("dd.png", img)

运行结果在这里插入图片描述

1.5. 使用ndarray的函数修改图像的数据

比如:fill

1.6. ndarray像素访问:数组下标

ndarray[]

  1. [] 整数或者数组
    [h, w, c] BGR : 有别于Qt中RGB的表示方式
    0:blue
    1:green
    2:red

  2. 函数: slice(begin=0, end=-1, step=1): 没有
    表达式方式 begin: end : step

  3. 逻辑数组

import cv2
import numpy as np

img = cv2.imread("00003.jpg")

#------图像的基本操作
img[:,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值