首页 > 其他分享 >利用opencv拼接图像视频摄像头进行录像

利用opencv拼接图像视频摄像头进行录像

时间:2022-11-22 13:31:41浏览次数:51  
标签:视频 编码器 item cv2 opencv 拼接 fourcc 摄像头 VideoWriter


将图像拼接成视频格式

今天想将5000张图片转换成视频格式,操作如下:

import os
import cv2
import numpy as np

path = '/home/violet/PycharmProjects/deepSort/images/img1/'
filelist = os.listdir(path)

fps = 20 #视频每秒24帧
size = (640, 480) #需要转为视频的图片的尺寸
#可以使用cv2.resize()进行修改

video = cv2.VideoWriter("VideoTest.avi", cv2.VideoWriter_fourcc(*'MJPG'), fps, size)
#视频保存在当前目录下

for item in filelist:
if item.endswith('.jpg'):
#找到路径中所有后缀名为.png的文件,可以更换为.jpg或其它
item = path + item
img = cv2.imread(item)
video.write(img)

video.release()
cv2.destroyAllWindows()

利用opencv拼接图像视频摄像头进行录像_opencv


视频虽然到处成功,可是画面切换太快了,不是我想要的效果,而且对比其他视频帧率20没什么问题。

利用摄像头录像

突然冒出一个想法:能不能用摄像头录像呢?
通过修改一些上面代码得以实现。

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# 定义视频编码器
# FourCC全称Four-Character Codes,代表四字符代码 (four character code), 它是一个32位的标示符,其实就是typedef unsigned int FOURCC;是一种独立标示视频数据流格式的四字符代码。
# 因此cv2.VideoWriter_fourcc()函数的作用是输入四个字符代码即可得到对应的视频编码器。
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 使用XVID编码器
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) # 出分别是:保存文件名、编码器、帧率、视频宽高

while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:

# 保存录像结果
out.write(frame)

cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break

# 释放内存
cap.release()
out.release()
cv2.destroyAllWindows()

利用opencv拼接图像视频摄像头进行录像_图像转换视频_02


利用opencv拼接图像视频摄像头进行录像_ide_03


标签:视频,编码器,item,cv2,opencv,拼接,fourcc,摄像头,VideoWriter
From: https://blog.51cto.com/u_13875041/5877872

相关文章

  • avue框架 拼接后端返回的数据到table中
    根据要求展示下列详细地址情况: 后端返回的数据:  具体实现步骤:  {label:"详细地址",prop:"buildingName",display:false,width:130,......
  • PHP 之将数组拼接为sql语句
    一、代码/***拼接sql语句*@param$table*@param$array*@returnstring*/functioninsertSql($table,$array){$sqlk='';$sqlv='';foreach($arra......
  • java 字符串拼接
    最常用的有4种方法+运算符:如果拼接的都是字符串直接量,则适合使用+运算符实现拼接;publicstaticvoidmain(String[]args){ method1();}//字符串拼接:+......
  • H5前端调用摄像头拍照
    需求:最近有个移动端开发需求,用户打开相机点击拍照按钮,就会拍一张照片(照片不进手机系统相册),显示在页面下部小视窗。(界面大概如下)就需求本身而言,若是交给Native同事去开发......
  • python-opencv抓取RTMP
    opencv安装sudoapt-getinstallpython3-opencv源码安装https://blog.csdn.net/u011922698/article/details/123268143pip3installopencv-python#安装opencvpip3......
  • Python OpenCV给证件照换底色
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Hive学习笔记:字符串拼接
    工作中需要合并区号与号码,因两个字段均为数值,无法直接使用“+”进行拼接,需要通过其他方法。一、concat拼接concat将多个字段(字段类型可不相同)拼接起来。使用语法为:-......
  • OpenCV基础 | 1.像素运算
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 无线网桥能带多少个摄像头
    ​​​​​     在无线监控工程的前期规划时,有很多朋友完成了监控点位及有线网络的部署规划,却对无线网桥带摄像头个数没有底。对于该问题有很多朋友咨询,其实无线网桥......
  • OpenCV实现艺术字
    本文参考自《计算机视觉40例从入门到深度学习(OpenCV-Python)》原理介绍通过简单的或运算实现。lenacolor.pngwatermark.bmp(二值图像)lenacolor作为艺术字的背景图像......