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

深圳商业策划公司十大公司seo引擎优化怎么做

深圳商业策划公司十大公司,seo引擎优化怎么做,彩票网站怎么做推广,武汉大型网站建设上篇文章我们学习了图片的数据采集,今天主要了解一下视频数据采集的方法。视频是由一系列图像构成的,其中每一张图片就是一帧。视频数据采集方法通常有自动图像采集和基于处理器的图像采集两种。我们学习一下如何利用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/108706.html

相关文章:

  • 有哪些品牌做打底衫的网站大数据营销是什么
  • 快速网站排名优化搜索引擎快速优化排名
  • 将网站发布到微信小程序怎么做免费建站系统哪个好用吗
  • 深圳app开发公司有推荐的吗免费网站建设seo
  • 策划一个网站策划书seo门户网价格是多少钱
  • 网站规划市场分析谷歌优化seo
  • 电子商务网站建设核心seo运营推广
  • 做牛仔裤的视频网站网站推广优化价格
  • 湖北鄂州疫情最新情况优化模型有哪些
  • 上海网站建设哪家服务好百度搜索风云榜官网
  • 网站建设梦幻创意如何做网站优化
  • 政府网站 目的必应搜索推广
  • 建设银行官网网站广告精准推广平台
  • 公司网站做的一样算不算侵权大连seo顾问
  • 浙江响应式网站建设制作二十个优化
  • 杭州建设网杨赟福州短视频seo机会
  • 外贸网站 推广搜索引擎营销的案例有哪些
  • 阿里云1核2g服务器能建设几个网站seo推广方式是什么呢
  • 网站做优化多少钱seo标题关键词优化
  • 企业建设网站作用中央突然宣布一个大消息
  • wordpress网址重定向seo工程师是什么职业
  • 长春网站建设设计百度一下浏览器下载安装
  • win主机wordpress重定向河源网站seo
  • app开发源码seo咨询服务
  • 阿里巴巴网站是怎么做的湖口网站建设
  • 软件科技公司网站模板重庆seo教程搜索引擎优化
  • 前端是做网站吗微信软文怎么写
  • 东莞找做网站的百度网盘搜索引擎盘多多
  • 做企业门户网站都google关键词优化排名
  • 龙岗外贸网站制作怎么做微信推广和宣传