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

网站变灰单职业传奇手机手游版

网站变灰,单职业传奇手机手游版,上海小程序开发定制,媒体查询做响应式网站有哪些初始检测#xff1a;只在视频的前几秒内进行一次人脸检测#xff0c;以确定主持人的大致位置。计算裁剪框#xff1a;基于检测到的主持人位置#xff0c;计算一个以主持人面部为中心的固定裁剪框。视频裁剪#xff1a;使用计算出的裁剪框对整个视频进行裁剪#xff0c;将…初始检测只在视频的前几秒内进行一次人脸检测以确定主持人的大致位置。计算裁剪框基于检测到的主持人位置计算一个以主持人面部为中心的固定裁剪框。视频裁剪使用计算出的裁剪框对整个视频进行裁剪将视频分辨率调整为512x512。 帧率调整将视频帧率调整至25fps。音频保留确保裁剪和帧率调整后的视频音频与原视频同步。 以下是优化后的代码 import cv2 import numpy as np import face_recognition from moviepy.editor import VideoFileClip, AudioFileClip from tqdm import tqdmdef find_host_face_location(video_path): 在视频的前几秒内检测并返回主持人面部的大致位置 cap cv2.VideoCapture(video_path)found_face Falsewhile cap.isOpened():ret, frame cap.read()if not ret:break# 缩小帧尺寸以加快处理速度small_frame cv2.resize(frame, (0, 0), fx0.25, fy0.25)rgb_small_frame small_frame[:, :, ::-1]# 检测人脸face_locations face_recognition.face_locations(rgb_small_frame)if face_locations:# 取第一张脸的位置假设主持人位于视频画面的中心位置附近host_face_location face_locations[0]# 将位置放大回原始大小host_face_location (host_face_location[0]*4, host_face_location[1]*4, host_face_location[2]*4, host_face_location[3]*4)found_face Truebreak# 如果已经处理了前10秒的视频且没有找到人脸则退出循环if cap.get(cv2.CAP_PROP_POS_MSEC) 10000:breakcap.release()return host_face_location if found_face else Nonedef calculate_cropping_box(face_location, frame_shape): 根据主持人面部位置计算裁剪框 top, right, bottom, left face_locationcenter_x, center_y (left right) // 2, (top bottom) // 2half_width, half_height 256, 256left_cropped max(center_x - half_width, 0)top_cropped max(center_y - half_height, 0)right_cropped min(center_x half_width, frame_shape[1])bottom_cropped min(center_y half_height, frame_shape[0])return (top_cropped, right_cropped, bottom_cropped, left_cropped)def process_video(input_path, output_path): 处理视频裁剪并调整帧率 # 检测主持人面部位置host_face_location find_host_face_location(input_path)if host_face_location is None:print(fNo face detected in video {input_path})return# 读取视频获取视频的宽度和高度clip VideoFileClip(input_path)frame_shape clip.size[::-1] # 电影剪辑的尺寸是(width, height)我们需要(height, width)# 计算裁剪框cropping_box calculate_cropping_box(host_face_location, frame_shape)# 裁剪视频cropped_clip clip.crop(x1cropping_box[3], y1cropping_box[0], x2cropping_box[1], y2cropping_box[2])cropped_clip cropped_clip.resize((512, 512))# 调整帧率cropped_clip cropped_clip.set_fps(25)# 保存最终视频cropped_clip.write_videofile(output_path, codeclibx264, audio_codecaac)# 清理资源cropped_clip.close()if __name__ __main__:for i in tqdm(range(1, 75), descProcessing videos):input_path fdata/{i}/{i}.mp4output_path fdata/{i}/{i}_fc1.mp4process_video(input_path, output_path)代码解释 find_host_face_location 函数这个函数负责在视频的前几秒内查找主持人面部的大致位置。我们假设主持人在视频开始时就已经出现在画面中并且通常位于画面的中心位置附近。 calculate_cropping_box 函数根据主持人面部的位置计算出一个裁剪框使得裁剪后的视频以主持人面部为中心。 process_video 函数此函数执行视频的裁剪和帧率调整。首先我们使用find_host_face_location函数找到主持人面部的位置。接着使用calculate_cropping_box函数计算裁剪框。然后我们使用moviepy库来裁剪视频、调整尺寸和帧率并保存最终的视频。 注意事项 我们假定主持人在视频开始时就已经出现并且位置相对固定。如果主持人在视频中移动或有多个主持人此方法可能需要进一步的调整。使用moviepy进行视频处理可以简化代码并提高效率但请注意moviepy对视频文件的读写操作可能会消耗较多资源。 确保在运行此代码之前已经安装了face_recognition和moviepy库及其依赖项。如果在执行过程中遇到任何问题如资源限制或库版本冲突请相应地调整配置或更新库版本。
http://www.w-s-a.com/news/979540/

相关文章:

  • 湖南地税局官网站水利建设基金app仿制
  • 苏州网站设计kgwl建设网站需要用到哪些技术人员
  • 万户网络做网站如何亚马逊网站建设
  • 门户网站制作费用暴雪公司最新消息
  • 深圳专业建网站公司济南公司做网站的价格
  • 怎么运行自己做的网站网上申请平台怎么申请
  • 旅游公司网站 优帮云新闻近期大事件
  • 电商网站后台报价营销软文小短文
  • 网站建设项目售后服务承诺公司名称邮箱大全
  • 湖南网站建设哪里好做ppt的网站叫什么名字
  • 容城县建设银行网站电子商务网站建设子项目
  • 网站管理助手3.0做淘宝网站用什么软件做
  • 贵阳做网站的公司wordpress趣味插件
  • 自己设置免费网站设计平台南京哪里有做公司网站的
  • 建设公司内网网站的意义自助建站网站的宣传手册
  • 手机建设中网站建立个人网站服务器
  • 网站开发工程师岗位概要网站怎么制作教程
  • 城乡建设主管部门官方网站公司简介模板ppt范文
  • 网站认证必须做么cc0图片素材网站
  • net域名 著名网站国外设计案例网站
  • 淘宝客网站哪里可以做app地推网
  • 宜昌建设厅网站中国最新时事新闻
  • 微网站怎么开发wordpress 发表评论
  • 山东网站建设是什么一页网站首页图如何做
  • 游戏开发与网站开发哪个难万网影
  • 做网站编程语言建筑施工特种证书查询
  • 找人做网站内容自己编辑吗修改wordpress登陆界面
  • 登陆建设银行wap网站湖南网站建设磐石网络答疑
  • 58网站怎么做浏览度才高论坛网站怎么做排名
  • wordpress 手机网站支付京东网站建设的经费预算