当前位置: 首页 > article >正文

Python进阶之opencv图片和视频基本读取关闭

opencv

目录

  • opencv
    • pip 下载
    • 图片基本读取关闭
      • 导入前提
      • 读取显示和关闭
      • 图片属性
    • 视频读取显示和关闭
        • 视频读取

pip 下载


在终端下载

已经修改pip源可直接下载,未修改为下面代码+ -i 镜像网址

代码展示:

pip install opencv-python==3.4.18.65
pip install opencv-contrib-python==3.4.18.65

图片基本读取关闭


导入前提

图片和视频可以复制粘贴到当前根目录下,这里图片的地址就是:at1.png
在这里插入图片描述

读取显示和关闭

  • imread(‘图片地址’)
    读取图片
  • imshow(‘窗口命名’,图片变量)
    图片展示

图片直接print输出为含多个矩阵的矩阵

  • waitKey(数值)
    单位是ms,可以设置图片显示时长

有返回值,点击键盘如空格键,会关闭窗口,不再显示,返回值为键盘对应ASCII的数组,如空格停止返回值为32

  • destroyAllWindows()
    关闭所有窗口

图片属性

  • shape 返回(m,n,r),m高n宽r个通道
  • dtype 返回类型
  • size 返回大小,有色图为mnr,灰度图为m*n

代码展示:

import cv2
a = cv2.imread('at1.png')
print(a)
cv2.imshow('t1',a)
b = cv2.waitKey(0)
print(b)
cv2.destroyAllWindows()
print(f'shape:{a.shape}')
print(f'dtype:{a.dtype}')
print(f'size:{a.size}')

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

视频读取显示和关闭


视频读取
  • VideoCapture(‘图片地址’)
    读取视频
  • isOpened()
    判断视频是否打开,返回布尔值
  • read()
    逐帧读取视频

返回两个值,第一个是布尔值,表示是否能读取到,第二个是读取到的图片

  • imshow(‘窗口命名’,图片变量)
    显示图片,同一个命名相同会覆盖
  • waitKey(数值)
    间隔时间显示图片组成播放视频
  • release()
    释放资源
  • destroyAllWindows()
    关闭所有窗口

代码展示:

v = cv2.VideoCapture('av2.gif')
# 如果视频可以打开播放,如果不能打开,输出错误,退出
if not v.isOpened():
    print('错误')
    exit()
#可以播放进行读取
while True:
    # r为布尔值是否读取到,f为读取到的图片,按顺序读取
    r,f = v.read()
# 如果r为F,not r 为真,跳出循环,结束
    if not r:
        break
    cv2.imshow('video',f)
    #当按空格键时,停止播放,跳出循环
    if cv2.waitKey(100) == 32:
        break
# 释放资源
v.release()
cv2.destroyAllWindows()

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


http://www.kler.cn/a/453888.html

相关文章:

  • Java后端开发 ”Bug“ 分享——订单与优惠卷
  • 离心式压缩机设计的自动化方法
  • matlab中的cell
  • 【每日学点鸿蒙知识】类型判断、three.js支持情况、Grid拖动控制、子窗口路由跳转、真机无法断点
  • OpenHarmony 3.2 调用获取指定网络接口信息报错,DHCP报错:callback error 29189
  • 人工智能python快速入门
  • 初始化全部推断的寄存器、 SRL 和存储器
  • 两分钟掌握 TDengine 全部写入方式
  • 目录jangow-01-1.0.1靶机
  • Eclipse常用快捷键详解
  • 【3.1 以太网RDMA优化--网卡缓存资源维度】
  • Android--java实现手机亮度控制
  • react高阶组件及hooks
  • 透视网络世界:计算机网络习题的深度解析与总结【前3章】
  • 物联网乐鑫USB方案,设备互联和数据传输应用
  • Oracle 普通表至分区表的分区交换
  • chrome缓存机制以及验证缓存机制
  • springboot/ssm图书大厦图书管理系统Java代码编写web图书借阅项目
  • uniapp抖音小程序,如何一键获取用户手机号
  • ES学习module模块化(十二)