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

opencv

目录

pip 下载


在终端下载

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

代码展示:

python 复制代码
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

代码展示:

python 复制代码
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()
    关闭所有窗口

代码展示:

python 复制代码
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()

运行结果:

相关推荐
KevinCyao3 分钟前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏4949 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨40 分钟前
python扫码登录dy
开发语言·python
bazhange1 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能1 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技1 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭1 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机1 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python
知行合一。。。2 小时前
Python--04--数据容器(集合)
python
Captain_Data2 小时前
Python机器学习sklearn线性模型完整指南:LinearRegression/Ridge/Lasso详细代码注释
python·机器学习·数据分析·线性回归·sklearn