图片
1、读入图像
使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径, 第二个参数是要告诉函数应该如何读取这幅图片。(不写默认彩色)
cv2.IMREAD_GRAYSCALE:以灰度模式读入图像 cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道
alpha通道,是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度复信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明
上面三种参数可以使用1,0,-1代替
读入:
import cv2
import numpy as np
img = cv2.imread('op.jpg',0) #灰色
img1 =cv2.imread('op.jpg',1) #彩色
2、显示图像
cv2.imshow('image',img) #图像的显示,也可以创建多个窗口
cv2.imshow('image1',img1)
cv2.waitKey(0) #等待时间,毫秒级,0任意键终止
cv2.destroyAllWindows()
3、保存图像
cv2.imwrite('op.png',img ) #保存图像
cv2.imwrite('op1.png',img1)
4、图像特征
视频
1、获取视频
创建一个 VideoCapture ( )对象,参数为0表示内置摄像头获取,另一种为参数为视频文件路径获取。
import numpy as np
import cv2
vc = cv2.VideoCapture('MN.mp4')
2、显示视频
vc.read() 返回一个布尔值(True/False)。如果帧读取的是正确的,就是 True
vc.isOpened(),来检查是否成功初始化了。如果返回值是 True,那就没有问题 cv2.waiKey() 设置适当的持续时间,控制视频的播放速度
if vc.isOpened(): #检查打开是否正确
open,frame=vc.read()
else:
open = False
while open:
ret, frame = vc.read() # 逐帧捕获
# 进行单张图片的读取,ret的值为True或者Flase,frame表示读入的图片
if frame is None: #读入图片为空退出
break
if ret ==True:
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) # 对图像进行处理
cv2.imshow('frame',gray) # 显示结果帧
if cv2.waitKey(10) & 0xFF == 27: #ESC键退出
break
vc.release() # 完成所有操作后,释放捕获
cv2.destroyAllWindows()