当前位置: 首页 > wzjs >正文

设计欣赏网站安卓手机优化软件哪个好

设计欣赏网站,安卓手机优化软件哪个好,网站欢迎页面怎么做,免费制作app平台上篇文章我们学习了图片的数据采集,今天主要了解一下视频数据采集的方法。视频是由一系列图像构成的,其中每一张图片就是一帧。视频数据采集方法通常有自动图像采集和基于处理器的图像采集两种。我们学习一下如何利用python 工具和笔记本计算机摄像头进行…

上篇文章我们学习了图片的数据采集,今天主要了解一下视频数据采集的方法。视频是由一系列图像构成的,其中每一张图片就是一帧。视频数据采集方法通常有自动图像采集和基于处理器的图像采集两种。我们学习一下如何利用python 工具和笔记本计算机摄像头进行视频数据的实时采集。

1、基础操作方法

在Python中使用OpenCV库录制视频是一种常见的需求,尤其是在进行视频处理、机器视觉项目或教学视频录制时。OpenCV(Open Source Computer Vision Library)提供了强大的视频处理功能,包括视频录制。

1)cv2.VideoWriter()方法

cv2.VideoWriter(video_file_name,fourcc,fps,frameSize[,isColor])

video_file_name:创建写入对象,录制视频的名称

fourcc:用来指定视频的编码格式,每个编/解码器都有一个4字符标记

fps:视频的帧速率,指视频每秒多少帧

frameSize:录制视频的窗口大小(长和宽)

isColor:判断是否为彩色图像,非零为彩色帧,否在为灰度帧

2)fourcc常用编码格式

在OpenCV中,fourcc通常是一个四字符代码,用于标识不同的编解码器。例如:

  • 'XVID' 通常用于MP4文件,特别是在使用x264编解码器时。
  • 'DIVX' 也是一个常用的编解码器,特别是在较老的系统中。
  • 'X264' 用于H.264编码,这是一种广泛使用的视频编码格式。
  • 'MJPG' 用于Motion JPEG编码,通常用于.avi文件。

举例说明:

# 定义视频编解码器和创建VideoWriter对象

# 参数分别是:输出文件名,编解码器,帧率,帧大小,是否为彩色

fourcc = cv2.VideoWriter_fourcc(*'XVID')  # 或者使用'MJPG', 'X264', 'DIVX'等

out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))

3)cv2.VideoCapture.get()方法

cv2.VideoCapture.get() 是 OpenCV 库中用于获取视频捕获设备(例如摄像头或视频文件)的属性值的方法。这个方法非常有用,因为它允许你访问和调整摄像头的各种参数,比如帧宽、帧高、帧率等。

获取摄像头的帧宽和帧高

import cv2

# 创建一个VideoCapture对象,0通常是内置摄像头的索引

cap = cv2.VideoCapture(0)

# 获取摄像头的帧宽和帧高

frame_width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)

frame_height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)

print(f"Frame width: {frame_width}")

print(f"Frame height: {frame_height}")

# 释放VideoCapture对象

cap.release()

获取摄像头的帧率

import cv2

# 创建一个VideoCapture对象,0通常是内置摄像头的索引

cap = cv2.VideoCapture(0)

# 获取摄像头的帧率

fps = cap.get(cv2.CAP_PROP_FPS)

print(f"Frame rate: {fps}")

# 释放VideoCapture对象

cap.release()

2、举例说明

我们试着通过通过笔记本摄像头录一段视频:

录制视频并保存的基本步骤如下:

1)使用cv2.VideoCapture(0)来获取默认摄像头。

2)使用cv2.VideoWriter来创建视频写入对象。

3)循环读取摄像头的帧,并使用write方法写入视频文件。

4)当不再需要视频写入对象时,使用release方法释放资源。

import cv2    #导入CV2库来使用

video_dir ="D:\\dewi\\project2024\\myListPractice\\pythonProject1\\test_data\\get_videos\\"
file_name = "005.avi"
video_file_name = video_dir + file_name

cap = cv2.VideoCapture(
0#开启摄像头,0指笔记本内置摄像头

#设置视频的宽度和高度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height =
int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

#创建视频写入对象
out_video = cv2.VideoWriter(video_file_name,
                            cv2.VideoWriter_fourcc(
"D","I","V","X"),
                           
20,(frame_width,frame_height))

  

while True:
    ret,frame = cap.read() 
#捕获帧信息
    if ret:
        out_video.write(frame)
       
print("写入成功")
   
else:
       
print("获取图片出错了!")
       
break

cap.release()  #释放摄像头
out_video.release()  #释放视频对象
cv2.destroyAllWindows()  #关闭所有图像窗口

3、进阶练习

在上一个练习的基础上,我们录取10段视频,每秒钟30帧图片。参考代码:

import cv2    #导入CV2库来使用
import time

video_dir =
"D:\\dewi\\project2024\\myListPractice\\pythonProject1\\test_data\\get_videos\\"


cap = cv2.VideoCapture(0#开启摄像头,0指笔记本内置摄像头

#设置视频的宽度和高度,帧率
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height =
int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)


for seg in range(10):    #获取10段视频
    # 获取当前系统时间戳(秒)
    current_timestamp = time.time()
   
# 转换为本地时间
    current_time = time.localtime(current_timestamp)
   
# 格式化输出
    formatted_time = time.strftime("%Y-%m-%d_%H%M%S", current_time)

    file_name =
f"video_{formatted_time}.avi"  #视频名称添加当前时间的时间戳
    video_file_name = video_dir + file_name

   
#创建视频写入对象
    out_video = cv2.VideoWriter(video_file_name,
                            cv2.VideoWriter_fourcc(*
"XVID"),
                            fps,(frame_width,frame_height))

   
for count in range(300):  #每段视频为10秒,需要300帧数据,30/
        ret,frame = cap.read()  #捕获帧信息
        if ret:
            out_video.write(frame)
           
#print("写入成功")
       
else:
           
print("获取图片出错了!")
           
break

   
print(f"{seg+1}段视频录制(fps:{fps})成功:",file_name)
    out_video.release()
cap.release()
cv2.destroyAllWindows()

执行结果参考:

第1段视频录制成功: video_2025-03-30_181125.avi

第2段视频录制成功: video_2025-03-30_181136.avi

第3段视频录制成功: video_2025-03-30_181146.avi

……

在对应的文件夹下看到了录制的10段视频。

每天进步一点点,继续加油!

http://www.dtcms.com/wzjs/250813.html

相关文章:

  • 怎样优化网站关键词排名靠前百度指数资讯指数
  • 外贸开发网站建设2024年阳性什么症状
  • 沈阳专业网站制作推广赚钱项目
  • 网站建立费用优化快速排名教程
  • 建成学校网站网站统计分析工具
  • 销售产品做单页还是网站山西seo基础教程
  • 长春网站建设长春电梯公司天津搜狗seo推广
  • dedecms导购网站模板体球网足球世界杯
  • 甘肃省建设厅网站质监局怎么才能创建一个网站
  • 做网站里面内容编写自己怎么免费做百度推广
  • 网站建设案列自媒体
  • 网赌网站国外空间淘大象关键词排名查询
  • 巩义网站公司站长之家备案查询
  • wordpress网站前台打开慢百度大数据中心
  • 在tomcat部署wordpress陕西网站关键词自然排名优化
  • 苏州做网站需要多少钱网络运营团队
  • 做网站实例搜索引擎优化关键词的处理
  • m2型虚拟主机带宽 网站现在推广平台哪家最好
  • 网站制作 电子商城seo工具优化软件
  • 张家口做公司网站自己怎么搭建网站
  • 初学网站开发专业的制作网站开发公司
  • 做儿童文学有哪些的网站关键词优化工具
  • 政务网站开发seowhy
  • 商业网站开发教程灰色行业推广渠道
  • 如何管理企业网站平台营销策略
  • 深圳建网站三千超级seo外链
  • 订购网站模板北京seo招聘信息
  • 南昌网站开发商哪家强太原seo霸屏
  • wordpress网银插件下载成都优化网站哪家公司好
  • wordpress发布页面南京seo关键词优化预订