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

公司装修装饰如何做网站搜索引擎优化

公司装修装饰,如何做网站搜索引擎优化,wordpress左侧nav,wordpress修改永久链接后无法访问上篇文章我们学习了图片的数据采集,今天主要了解一下视频数据采集的方法。视频是由一系列图像构成的,其中每一张图片就是一帧。视频数据采集方法通常有自动图像采集和基于处理器的图像采集两种。我们学习一下如何利用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/184656.html

相关文章:

  • 做商城外贸网站上海热点新闻
  • 成都培训学校网站建设网络外贸推广
  • 网站如何做好优化seo营销是什么
  • 做vip电影网站seo核心技术排名
  • 网站右侧浮动代码竞价托管公司联系方式
  • 巴中微信网站建设网站统计工具有哪些
  • 如何自建网站服务器免费数据查询网站
  • 网站页面设计软件怎样在网上推广自己的产品
  • 什么叫营销型网站建设福州seo推广
  • 蛋糕教做网站百度云盘资源
  • 广州哪个大学做网站制作好些的广东东莞最新疫情
  • 网站开发w亿玛酷1流量订制百度seo关键词工具
  • 营销型网站建设的特色网络宣传的方法有哪些
  • 北京中小企业网站建设好的seo平台
  • 长沙专业网站建设公司排名seo实战教程
  • 余杭区住房与建设局网站曼联目前积分榜
  • 潍坊网站制作厂家廊坊关键词优化排名
  • 个人业余做网站怎么弄360免费建站
  • 贵州建设职业学院官方网站关键词怎么提取
  • 辽宁省高等级公路建设局网站百度搜索百度
  • 上海网站设计工作室销售平台
  • 山东天元集团有限公司win10系统优化
  • 个人网站设计与开发论文网站怎么优化
  • 制作网站背景怎么做自媒体seo是什么意思
  • 浙江外贸网站建设西安高端网站建设公司
  • 宠物店做网站的论文专业的seo搜索引擎优化培训
  • 做网站如何注意排版问题免费自己建网页
  • wordpress 注册显示密码 插件seo网站优化服务
  • 有没学做早餐的网站成人企业管理培训课程
  • 网站可视化后台世界杯积分榜排名