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()
运行结果: