Opencv中的GUI特性
使用matplotlib绘制图像
Matplotlib是 python中的一个绘制库
使用pycharm编写测试程序
# -*- coding: utf-8 -*-
# @Time : 2016/11/10 14:45
# @Author : Retacn
# @Site :
# @File : matplotib.py
# @Software: PyCharm
import numpy
as np
import cv2
from matplotlib
import pyplot as
plt
#读取图像
img=cv2.imread('test.jpg',0)
plt.imshow(img,cmap='gray',interpolation='bicubic')
plt.xticks([]),plt.yticks([])
plt.show()
视频
读取视频文件,显示视频,保存视频文件
从摄像头获取并显示视频
所用到的函数
Cv2.VideoCapture()
Cv2.VdeoWrite()
用摄像头捕获视频
# -*- coding: utf-8 -*-
# @Time : 2016/11/10 14:58
# @Author : Retacn
# @Site :
# @File : videoCapture.py
# @Software: PyCharm
# 从摄像头捕捉视频
import numpy
as np
import cv2
#使用默认的内置设像头
cap = cv2.VideoCapture(0)
while (True):
#检查是否初始化成功,不成功就调用cap.open()
#cap.isOpened()
# 一帧一帧的捕获图像
#ret返回布尔值,检查帧是否读取正确
ret, frame = cap.read()
#读取视频的一些信息参数,
for
i in range(0,
18 ,1):
print(cap.get(i))
# 修改一帧数据
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 显示返回的一帧图像
cv2.imshow('frame', gray)
#按下q键退出程序
if
cv2.waitKey(1) &
0xFF == ord('q'):
break
# 所有操作完成,后释放资源
cap.release()
cv2.destroyAllWindows()
可以看到控制台输出的视频信息
-1.0
-1.0
-1.0
640.0
480.0
0.0
844715353.0
-1.0
-1.0
-1.0
0.0
50.0
50.0
0.0
64.0
-6.0
-1.0
17.0
从文件中播放视频
直接修改上面的程序
将cap = cv2.VideoCapture(0)改为文件名
#播放视频文件
cap = cv2.VideoCapture('output.avi')
将摄像头捕获文件保存为视频文件
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/11/10 15:57
# @Author : Retacn
# @Site :
# @File : fileVideoCapture.py
# @Software: PyCharm
#保存视频文件
import numpy
as np
import cv2
#捕获视频信息
cap=cv2.VideoCapture(0)
#设置视频的编码格式
#DIVX XVID MJPG X264 WMV1 WMV2
#格式:
#cv2.VideoWriter_fourcc('M','J','P','G')
#或是cv2.VideoWriter_fourcc(*'MJPG')
fourcc=cv2.VideoWriter_fourcc(*'XVID')
#将捕获的信息保存为视频文件
#沿水平方向旋转每一帧
out=cv2.VideoWriter('output.avi',fourcc,20.0,(640,480))
while(cap.isOpened()):
ret,frame=cap.read()
if ret==True:
frame=cv2.flip(frame,0)
out.write(frame)
#显示一帧
cv2.imshow('frame',frame)
#按下q键退出
if
cv2.waitKey(1)&
0xFF ==ord('q'):
break
else:
break
#释放资源
cap.release()
out.release()
cv2.destroyAllWindows()