python opencv入门(读 / 写 显示以及转换图像 和 视频读入)
来源:互联网 发布:为什么淘宝网购失效 编辑:程序博客网 时间:2024/06/05 08:26
参考自:《Python计算机视觉》第十章
########################################################
OpenCV提供了两个Python接口,旧的cv模块使用OpenCV内部的数据类型,并且从Numpy使用起来可能需要一些技巧;而新的cv模块使用Numpy数组,并且使用起来更加直观。
导入新的cv模块的方式:
import cv2
导入旧的cv模块的方式:
import cv2.cv
以下函数均来自cv2模块
#########################################################
读 / 写 显示以及转换图像
help(cv2.imread)
#读取图像result.jpg(在当前目录)img=cv2.imread("result.jpg")
返回的img是一个Numpy的数组对象
type(img)
OpenCV的图像为Numpy中的多维数组对象
help(cv2.imwrite)
输入文件名和待保存对象即可,函数imwrite()会根据文件后缀自动转换图像
cv2.imwrite("result.jpg", img) #保存为jpg格式的文件
help(cv2.cvtColor)
在OpenCV中,图像不是按传统的RGB颜色通道,而是按BGR顺序(即RGB的倒序)存储的。读取图像时默认的是BGR
颜色空间的转换用函数cvtColor()实现,常用的转换代码为:
cv2.COLOR_BGR2GRAY #BGR图像转换为灰度图像cv2.COLOR_BGR2RGB #BGR格式图像转换为RGB格式图像cv2.COLOR_GRAY2BGR #灰度图像转换成BGR图像
上面每个转换代码中,转换后的图像颜色通道数与对应的转换代码相匹配,比如对于灰度图像只有一个通道,对于RGB和BGR图像则有三个图像
#读取图像 im=cv2.imread("result.jpg")#创建灰度图像gray=cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
help(cv2.imshow)
输入参数为窗口名和图像对象即可
help(cv2.waitKey)
参数可选,为空表示窗口一直停留,直到有按键按下;可以为数字,表示窗口停留的时间,以毫秒计
#读取图像im=cv2.imread('result.jpg')#显示图像cv2.imshow('opencv', im)cv2.waitKey()
#####################################################################
视频读入
单纯使用Python来处理视频有些困难,因为需要考虑速度 / 编解码器 / 摄像机 / 操作系统和文件格式。目前还没有针对Python的视频库,使用OpenCV的Python接口是唯一还不错的选择。
OpenCV能够很好的支持从摄像头读取视频
example:捕获视频帧并在OpenCv窗口中显示这些视频帧
import cv2#设置视频捕获cap=cv2.VideoCapture(0)#循环while True: ret,im=cap.read() #显示在窗口上 cv2.imshow('video test', im) key=cv2.waitKey(10) if key==27: break if key==ord('' ): cv2.imwrite('vid_result.jpg', im)
程序详解:
1.捕获对象VideoCapture从摄像头或文件捕获视频。通过一个整数进行初始化,该整数为视频设备的id:如果仅有一个摄像头与计算机相连接,那么该摄像头的id为0;
2.read()方法解码并返回下一视频帧,第一个变量ret是一个判断视频帧是否成功读入的标志,第二个变量则是实际读入的图像数组;
2.函数waitKey()等待用户按键,如果按下的是Esc(ASCII码是27)键,则退出应用;如果按下的是空格键,就保存该视频帧
cap=cv2.VideoCapture(videoname)
如果输入的是视频名,则调用该视频流
- python opencv入门(读 / 写 显示以及转换图像 和 视频读入)
- OpenCV与Python之图像的读入与显示以及利用Numpy的图像转换
- opencv-python(1):读入、显示、保存图像
- OpenCV中文网站上有讲怎么使用OpenCV读入和显示图像和视频
- OpenCV图像读入显示另存为
- opencv读入图像和avi
- VS+MFC+Opencv显示视频和图像。
- 【OpenCV学习笔记】【函数学习】十一(读入图像﹑显示图像和保存图像)
- 利用OpenCV读入,显示并保存图像
- OpenCV- 图像文件读入和显示
- OpenCV入门:显示图像
- Opencv入门(显示图像)
- OpenCV入门:显示视频
- 文章标题 opencv中视频的读取和显示以及色彩的转换
- python opencv入门(学习笔记no.2)-视频的读入读出
- opencv python 显示图像
- python opencv 显示图像
- 【OpenCV】视频读入、播放控制和写入
- 牛客网 | 二叉树的深度
- C++ 队列
- leetcode Subsets II
- 状态压缩DP-HDU-1074-Doing Homework
- Unity3D的一个坑
- python opencv入门(读 / 写 显示以及转换图像 和 视频读入)
- golang heap profile分析
- CoreData(数据库升级 )版本迁移-iOS App升级安装
- windows下面安装Python和pip
- 加密算法介绍
- Java-ServletContextListener
- 【faebdc的模拟赛】T1错位
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
- Android SlidingDrawer(滑动式抽屉)