opencv_python学习笔记三
来源:互联网 发布:寺库网是正品吗 知乎 编辑:程序博客网 时间:2024/05/23 22:39
Opencv中的GUI特性
使用matplotlib绘制图像
Matplotlib是 python中的一个绘制库
使用pycharm编写测试程序
# -*- coding: utf-8 -*-
# @Time : 2016/11/10 14:45
# @Author : Retacn
# @Site :
# @File : matplotib.py
# @Software: PyCharm
import numpyas np
import cv2
from matplotlib import pyplot asplt
#读取图像
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 numpyas np
import cv2
#使用默认的内置设像头
cap = cv2.VideoCapture(0)
while (True):
#检查是否初始化成功,不成功就调用cap.open()
#cap.isOpened()
# 一帧一帧的捕获图像
#ret返回布尔值,检查帧是否读取正确
ret, frame = cap.read()
#读取视频的一些信息参数,
fori in range(0,18 ,1):
print(cap.get(i))
# 修改一帧数据
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 显示返回的一帧图像
cv2.imshow('frame', gray)
#按下q键退出程序
ifcv2.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 numpyas 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键退出
ifcv2.waitKey(1)& 0xFF ==ord('q'):
break
else:
break
#释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
- opencv_python学习笔记三
- opencv_python学习笔记一
- opencv_python学习笔记二
- opencv_python学习笔记十一
- opencv_python学习笔记十二
- opencv_python学习笔记十八
- Opencv_Python学习笔记--OpenCV中的GUI特性
- OpenCV_Python学习笔记--OpenCV中的绘图函数
- OpenCV_Python 学习笔记(二)图像的基本操作
- JDBC学习笔记(三)
- C#学习笔记(三)
- AIX学习笔记(三)
- VC++学习笔记(三)
- AspectJ学习笔记(三)
- CSS学习笔记三
- XML学习笔记(三)
- Ajax学习笔记(三)
- Digester学习笔记(三)
- return语句在Java的Try Catch Finally中的行为
- 接口(interface) 与 抽象类(abstract class)
- UOJ 117 欧拉回路
- 基于TCP的客户端与服务器端之间的通信
- Windows版本搭建安装React Native环境配置
- opencv_python学习笔记三
- java多线程设计模式Worker Thread(线程池)
- 第十一周 OJ 趣味取小数
- 微信分享朋友圈链接被屏蔽(停止访问)怎么办?
- sysfs and devtmpfs
- rpm和yum
- 【RxJava 实践系列】(一)基础知识
- python中出现SyntaxError: Non-UTF-8 code 解决方法
- 多工程Maven工程的创建