OpenCv with Python for Image and Video Analysis(3/20)
OpenCv with Python for Image and Video Analysis
P1 intro and loading Images
1.利用cv2显示图像
1 |
|
2.使用matplotlib显示图像
1 |
|
Colormap是MATLAB里面用来设定和获取当前色图的函数,可以设置如下色图:
hot 从黑平滑过度到红、橙色和黄色的背景色,然后到白色。
cool 包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。
gray 返回线性灰度色图。
bone 具有较高的蓝色成分的灰度色图。该色图用于对灰度图添加电子的视图。
white 全白的单色色图。
spring 包含品红和黄的阴影颜色。
summer 包含绿和黄的阴影颜色。
autumn 从红色平滑变化到橙色,然后到黄色。
winter 包含蓝和绿的阴影色。
3.matplotlib中图片时rgb顺序,cv2中时bgr
1 |
|
bgr image rgb image
P2 loading video source
1.加载摄像头
1 |
|
1、cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头
参数是视频文件路径则打开视频,如cap = cv2.VideoCapture(“../test.avi”)
2、ret,frame = cap.read()
cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。
3、cv2.waitKey(1),waitKey()方法本身表示等待键盘输入
参数是1,表示延时1ms切换到下一帧图像,对于视频而言;
参数为0,如cv2.waitKey(0)只显示当前帧图像,相当于视频暂停,;
参数过大,如cv2.waitKey(1000),会因为延时过久而卡顿感觉到卡顿。
得到的是键盘输入的ASCII码,ord(‘q’)表示q的ascii码
4、调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
5.cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY) 用于转换颜色
2.录制视频
1 |
|
1.详解cv2.VideoWriter_fourcc对象(摘自Learning OpenCV3 Computer Vision with Python)
定义编码器:
fourcc意为四字符代码(Four-Character Codes),顾名思义,该编码由四个字符组成,下面是VideoWriter_fourcc对象一些常用的参数,注意:字符顺序不能弄混
cv2.VideoWriter_fourcc(‘I’, ‘4’, ‘2’, ‘0’),该参数是YUV编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc(‘P’, ‘I’, ‘M’, ‘I’),该参数是MPEG-1编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc(‘X’, ‘V’, ‘I’, ‘D’),该参数是MPEG-4编码类型,文件名后缀为.avi
cv2.VideoWriter_fourcc(‘T’, ‘H’, ‘E’, ‘O’),该参数是Ogg Vorbis,文件名后缀为.ogv
cv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’),该参数是Flash视频,文件名后缀为.flv
2.out = cv2.VideoWriter(‘output.avi’, fourcc, 20.0, (640, 480))
向视频文件写入一帧,输出成为output.avi文件,fourcc 指定编码器,fps=20.0 代表20帧,frameSize 要保存的文件的画面尺寸。
P3 drawing and writing on image
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!