网站编辑是做什么,仿微博网站模板,石龙做网站,广告设计与制作内容1、安装依赖库
pip install opencv-python # 主模块包pip install opencv-contrib-python # 主模块附加模块pip install numpy # numpy 库
2、图像的读取、显示、保存 读取#xff1a;cv2.imread()
img cv2.imread(path, flag)
img: cv2.imread()函数返回值#x…1、安装依赖库
pip install opencv-python # 主模块包pip install opencv-contrib-python # 主模块附加模块pip install numpy # numpy 库
2、图像的读取、显示、保存 读取cv2.imread()
img cv2.imread(path, flag)
img: cv2.imread()函数返回值如果读取失败则为None。
path: 图像文件的路径图片格式*.bmp、*.jpg、*.png、*.tiff 等。
flag 文件读取方式默认为1。常见方式有以下几种
方式值解释IMREAD_UNCHANGED-1原图并保留Alpha透明度通道IMREAD_GRAYSCALE0灰度图IMREAD_COLOR1BGR
显示cv2.imshow()
cv2.imshow(name, image)
name窗口名称。
image要显示的图片对象。
存储cv2.imwrite()
ret cv2.imwrite(path, image)
path存储图像的路径/图像名/格式---如Lena.png。
image要存储的图片对象。
示例
import cv2# 读取
img1 cv2.imread(Lena.png)
img2 cv2.imread(Lena.png,cv2.IMREAD_GRAYSCALE)
img3 cv2.imread(Lena.png,cv2.IMREAD_UNCHANGED)
img4 cv2.imread(Lena.png,cv2.IMREAD_COLOR)# 显示
cv2.imshow(Lena_1,img1)
cv2.waitKey(0) # 等待时长单位ms0表示按任意键取消等待。
cv2.destroyWindow(Lena_1) # 关闭名称为 Lena_1 的窗口。
cv2.imshow(Lena_2,img2)
cv2.waitKey(0)
cv2.imshow(Lena_3,img3)
cv2.waitKey(0)
cv2.imshow(Lena_4,img4)
cv2.waitKey(0)# 保存
cv2.imwrite(Lena_1.png,img1) # 保存一个作为示例# 关闭窗口
cv2.destroyAllWindows() # 关闭所有窗口。3、视频的读取、显示、保存 读取cv2.VideoCapture()
capture cv2.VideoCapture(test.mp4) # 0 为本机摄像头
capture: cv2.VideoCapture()函数返回值如果读取失败则为None。
path: 视频文件的路径图片格式*.mp4 等。
显示capture.get()
frame capture.get(flag)
frame视频的属性capture.get()函数的返回值与传入的参数有关。
flag属性请求参数常见方式有以下几种
视频属性解释CAP_PROP_POS_FRAMES视频的当前帧CAP_PROP_POS_MSEC当前帧的时间戳CAP_PROP_FPS获取FPSCAP_PROP_FRAME_WODTH视频帧的宽度CAP_PROP_FRAME_HEIGHT视频帧的高度CAP_PROP_FRAME_COUNT视频的总帧数 获取视频的属性
# 获取视频的属性
frame_width capture.get(cv2.CAP_PROP_FRAME_WIDTH)
frame_height capture.get(cv2.CAP_PROP_FRAME_HEIGHT)
fps capture.get(cv2.CAP_PROP_FPS) 以图片帧的方式播放视频
while capture.isOpened():ret, frame capture.read()if ret:gray_frame cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)out_gray.write(gray_frame) # 注意这里的视频帧颜色要与前面的 False/Ture 对应。cv2.imshow(test, gray_frame)if cv2.waitKey(10) 0xFF ord(q):breakelse:breakcapture.release()
out_gray.release()
cv2.destroyAllWindows()
存储cv2.VideoWriter
fourcc cv2.VideoWriter_fourcc(m, p, 4, v)
cv2.VideoWriter(path, fourcc, int(fps), (int(frame_width), int(frame_height)), False)cv2.VideoWriter_fourcc()使用四字节编码器fourcc指定视频编码器此处编码器定义为mp4v。
path视频保存地址*.mp4 等。
fourccfourcc 本身是一个 32 位的无符号数值用 4 个字母表示采用的编码器。一般依据你的电脑环境安装了哪些编码器。 常用的有 “DIVX、”MJPG、“XVID”、“X264。可用的列表在这里点击Video Codecs by FOURCC。
fps视频的帧率。
frame_width视频帧的宽度。
frame_width视频帧的高度。
False以灰度方式写入视频Ture以彩色方式写入视频。
示例
import cv2# 读取
capture cv2.VideoCapture(cxk.mp4)# 视频属性
frame_width capture.get(cv2.CAP_PROP_FRAME_WIDTH)
frame_height capture.get(cv2.CAP_PROP_FRAME_HEIGHT)
fps capture.get(cv2.CAP_PROP_FPS)# 保存与播放
fourcc cv2.VideoWriter_fourcc(m,p,4,v)
out_gray cv2.VideoWriter(test.mp4, fourcc, int(fps), (int(frame_width), int(frame_height)), False)while capture.isOpened():ret, frame capture.read()if ret:gray_frame cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)out_gray.write(gray_frame) # 注意这里的视频帧颜色要与前面的 False/Ture 对应。cv2.imshow(test, gray_frame)if cv2.waitKey(10) 0xFF ord(q):breakelse:breakcapture.release()
out_gray.release()
cv2.destroyAllWindows()