OpenCV - 图像及视频读写(Python实现)
2019-05-10 19:01
363 查看
版权声明:C橘子 https://blog.csdn.net/qq_40344307/article/details/89977277
- 读/写图像文件
OpenCV通过imread()函数和imwrite()函数进行图像读写。
import cv2 image = cv2.imread('02CV.png') #读取图片 默认为彩色 cv2.imwrite('MyPic.jpg', image)#保存为jpg格式
①imread()函数的第一个参数是需要读入的图像文件,需要注意的是这幅图像需要在程序工作路径或提供绝对路径。第二个参数是读取图像的方式。
- cv2.IMREAD_COLOR = 1:读入一副彩色图像。图像的透明度会被忽略,
这是默认参数。 - cv2.IMREAD_GRAYSCALE = 0:以灰度模式读入图像
②imwrite()函数是将第二个参数中的图像信息保存到第一个参数的文件中。
效果图
- 显示图像
使用函数 cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。
cv2.imshow('MyPic',image) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会无限
期的等待键盘输入。它也可以被用来检测特定键是否被按下,例如按键 a 是否被按下,这个后面我们会接着讨论。
cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果你想删除特定的窗口可以使用 cv2.destroyWindow(),在括号内输入你想删除的窗口名。
- 用摄像头捕获视频
import cv2 cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read()#获取图像 cv2.imshow("capture", frame)#显示图像 if cv2.waitKey(1) & 0xFF == ord('q'):#监测到键盘输入q关闭 break cap.release()#释放摄像头 cv2.destroyAllWindows()#关闭窗口
为了获取视频,你应该创建一个 VideoCapture 对象。他的参数可以是设备的索引号,或者是一个视频文件。设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。
然后在循环里不断获取并展示图像,并且等待键盘输入 q 结束显示。
- 保存摄像头视频
import cv2 #包含OpenCV cap = cv2.VideoCapture(0) fourcc = cv2.VideoWriter_fourcc('I','4','2','0') output = cv2.VideoWriter('out.avi',fourcc,20.0,(640,480)) while(cap.isOpened()): success,frame = cap.read() if success == True: frame = cv2.flip(frame, 1)#图像水平翻转实现镜子 output.write(frame)#写入一帧画面 cv2.imshow('video',frame)#显示画面 if cv2.waitKey(1) & 0xFF == ord('q'):#等待关闭操作 break; else: break; #结束代码 cap.release() output.release() cv2.destroyAllWindows()
- 从文件中读取视频
import cv2 cap=cv2.VideoCapture("out.avi")#打开指定路径上的视频文件 while (True): ret,frame=cap.read()#读取视频文件一帧图像 if ret == True: cv2.imshow("video",frame)#在video窗口显示图像 if cv2.waitKey(25)&0xFF==ord('q'):#设置25ms延时并且等待按键按下 break else:#失败退出 break #关闭操作 cap.release() cv2.destroyAllWindows()
相关文章推荐
- 【图像识别】 Python+Opencv调用摄像头实现人脸识别并保存视频
- 【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件
- 利用opencv2和c++实现视频与图像的互相转换
- python实现 opencv 学习笔记 图像二值化
- 图像灰度化处理&Python与OpenCV实现
- python opencv实现图像边缘检测
- OpenCV 编程简介(矩阵/图像/视频的基本读写操作)
- Python基于OpenCV实现视频的人脸检测
- python opencv入门(读 / 写 显示以及转换图像 和 视频读入)
- 利用python opencv实现图像自适应二值化
- python3.6.3+opencv3.3.0学习笔记六--存储视频和图像
- OpenCV图像识别:车牌定位算法源码,Python语言实现
- Python-OpenCV 图像与视频处理
- python opencv —— io(帧、图像、视频的读取与保存)
- python+opencv打开摄像头,保存视频、拍照功能的实现方法
- 简单的实现 相片去畸变,调用opencv读写图像,其他库函数不用
- 利用python opencv实现图像自适应二值化
- OpenCV 1.x & 2.x 编程简介(矩阵/图像/视频的基本读写操作)
- python+opencv打开摄像头,保存视频、拍照功能的实现
- [OpenCV_GrubCut]实现交互式图像分割提取前景--Python抠图