OpenCV: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
python安装opencv库: pip install opencv-python
python导入opencv库: impoort cv2
1、读取视频
- 视频可以理解为快速展示的图片,我们在读取视频时得到的也是图片数据
1.1、从本地捕获视频
cap = cv2.VideoCapture('./test_video.mp4') #capture有捕获的意思
1.2、展示图片
import matplotlib.pyplot as plt
flag,frame = cap.read()#frame有一桢的意思
print (flag)
plt.imshow(frame)
展示结果:
1.3、释放资源
- 每次展示完图片后需要释放资源
2、展示整个视频
import cv2
cap = cv2.VideoCapture('./vod.mp4')
flag, frame = cap.read()
while True:
if flag == False:
break
cv2.imshow('video', frame)
if ord('q') == cv2.waitKey(10):#输入‘q’键结束,等待每秒显示10张图片
break
flag, frame = cap.read()
#资源释放
cv2.destroyAllWindows()
cap.release()
3、保存视频图片
import cv2
cap = cv2.VideoCapture('./vod.mp4')
flag, frame = cap.read()
index = 1
while True:
if flag == False:
break
cv2.imshow('video', frame)#以图片展示视频
#将视频中的图片保存到本地
cv2.imwrite('./images/%s.jpg'%index, frame)
if ord('q') == cv2.waitKey(24):#输入‘q’键退出,每秒展示24张图片
break
flag, frame = cap.read()
index += 1
#资源释放
cv2.destroyAllWindows()
cap.release()
4、把视频变为黑白色图片
import cv2
cap = cv2.VideoCapture('./vod.mp4')
flag, frame = cap.read()
index = 1
while True:
if flag == False:
break
gray = cv2.cvtColor(frame, code=cv2.COLOR_BGR2GRAY)
cv2.imshow('video', gray)#以图片展示视频
#将视频中的图片保存到本地
cv2.imwrite('./images/%s.jpg'%index, gray)
if ord('q') == cv2.waitKey(24):#输入‘q’键退出,每秒展示24张图片
break
flag, frame = cap.read()
index += 1
#资源释放
cv2.destroyAllWindows()
cap.release()