1.图像读取,展示,保存
用opencv展示图像需要把windows,waitkey,destroy等都写上,否则无法展示。
读取cv2.imread()
展示cv2.imshow()
保存cv2.imwrite()
import cv2
img = cv2.imread('./1.jpg',1)
#以彩色读取写1,以灰度读取写0
cv2.namedWindow('image',cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('2.jpg',img)
用cv2展示图片麻烦,可以考虑使用matplotlib库进行画图
import numpy as np
import cv2
from matplotlib import pyplot as plt
img =cv2.imread('45.jpg',0)
plt.imshow(img,cmap='gray',interpolation = 'bicubic')
plt.xticks([]),plt.yticks([]) #to hide tick values on X and Y axis
plt.show()
matplotlib后续详细介绍,最简单的用法就是用cv2 imread后,使用plot.imshow()和plot.show()进行画图
2.视频读取,存储
获取视频
cv2.VideoCapture()
cv2.VideoCapture(0)是用电脑默认摄像头
cv2.VideoCapture('oto.avi')可以读取特定视频
对视频按帧读取
ret , frame = cap.read()
第一个值返回是否读取成功,第二个值返回每一帧图像
3.展示每一帧图像
cv2.imshow('frame',frame)
4.获取视频属性
cv2.VideoCapture.get(n)
n以0开始,对应下图属性,例如视频宽度=3,高度=4,帧率=5
5.视频保存
使用cv2.VideoWriter()命令保存视频,帧率和尺寸可根据cv2.VideoCapture.get(n)从原视频取得。
fps = videoCapture.get(5)
size = (int(videoCapture.get(3)), int(videoCapture.get(4)))
out = cv2.VideoWriter('./test_video/1_result.avi', cv2.VideoWriter_fourcc(
'M', 'J', 'P', 'G'), fps, size)









网友评论