首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python批量制作抖音的卡点视频原来这么简单!

# 开始帧和结束帧 start_frame = fps * start_time end_frame = start_frame + peroid * fps # 循环读取视频帧,只写入开始帧和结束帧之间的帧数据...ps:为了保证每一张****静态图片都显示 0.5s,并且静态图片生成的视频与第一段视频使用同一帧率,因此我们应该针对每一张图片写入多次,即多帧数据。...由于两段视频的帧率、分辨率都一致,这里不需要做其他多余的处理,只需要遍历两段视频文件,循环读取每一帧,然后写入到新的视频文件中。 第四步,需要对视频添加「水印」操作。...fontScale=1, color=(255, 255, 255)) video_writer.write(frame) ret, frame = cap.read() # 删除源文件,并重命名临时文件...同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!

2.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    别再一个一个的修改了,python几行代码就可以修改上百个工作表名称!

    在上一期python办公自动化中,我们讲解了python如何按指定需求填充数据并修改了工作表名称:python办公自动化_批量向excel填充数据。...上一期的内容虽然也涉及修改工作表名称,但都是在新建工作表时进行重命名工作表名称。...我们今天用的是上一期的结果,这里工作表名称做了修改,我们来看下工作表格式,它长这样: ? 我们需要把工作表B2单元格的内容作为工作表名称。...() 这里虽然获取了工作表,但我们不能直接修改,还需要获取工作表B2单元格的内容,所以我们建立一个for循环,遍历所有的工作表,最后的代码给了详细的注释,这里不做赘述: for i in wb:...sheet = wb.copy_worksheet(i) # 复制原有工作表 sheet.title = i['B1'].value # 提取内容,并重命名工作表 wb.remove

    52130

    教你用python对GIF动图进行倒放、拆分、合成!

    今天教大家用python对GIF动图进行拆分、合成、倒放~ 准备 导入相关库: import os import imageio from PIL import Image, ImageSequence...在目录下创建一个名为拆分的文件夹: if not os.path.exists('拆分'): os.makedirs('拆分') 第一种方法是使用Image模块下的seek函数,可以直接拆分;拆分后建议按顺序命名图片...ImageSequence模块中的Iterator函数: img = Image.open('噢特曼.gif') i = 0 for f in ImageSequence.Iterator(img): # 循环遍历...两个方法得出的结果都一样,动图的每一帧都保存下来了: ? 合并 imageio是个第三方库,它可以直接读取很多格式的图片和视频,然后可以将图片和视频转换成其它格式。...第二种用到python内置函数reverse()进行帧的倒序排序,但效果不是很好,动图放着放着就会卡住,而且不能设置动图的每一帧的速度。

    1.8K30

    Python 合并 Excel 表格

    所以,工作量大时,编程代码来实现上述操作的优势就凸显了:修改代码中几个参数,设置几个循环遍历,等几秒钟便可轻松搞定。 下面看 Python 实现的思路和步骤,还是要用之前提到过的 pandas 库。...OK,纵向合并完成,将合并后的数据通过 to_excel 方法保存到 xlsx 表格中: ? 最终,文件夹内会生成 result1.xlsx 表格文件,即合并后的结果了。...还记得学 Python 或其它编程语言开头都要学的 for 循环、定义方法么?...基于刚实现的代码,我们就可以将整个合并流程定义成一个独立的方法,针对我们需要处理的大量文件,可以通过 for 循环来遍历、调用定义的方法来逐一完成处理。...批量在不同 PDF 中提取特定位置的数据插入到对应 Word 文档中 Python 办公小助手:读取 PDF 中表格并重命名 摘要:批量读取 PDF 中特定数据,并以读取到的数据重命名该 PDF 文件

    3.6K10

    Python 自动化办公之你还在手动操作“文件”或“文件夹”吗?

    投稿作者:Huang supreme 编辑整理:JackTian 微信公众号:杰哥的IT之旅(ID:Jake_Internet) 投稿作者文章导读: 1、“罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢...注意:我们可以采用循环迭代其中的每一个元素,os.scandir()有两个特殊的属性和一个方法,我们在下面的例子中,进行演示。.../project") # 将aba.txt复制一份到project文件夹中,并重新命名为“新名字.txt”。 shutil.copy("aba.txt", "..../傻逼/") # # 将test.txt移动到“傻逼”文件夹下,并重新命名为test1.txt shutil.move("test.txt","./傻逼/test1.txt") 结果如下: ?.../傻逼/") # 将“qq”文件夹移动到“傻逼”文件夹下,并重新命名为“哈哈”文件夹 shutil.move("qq","./傻逼/哈哈") 结果如下: ?

    89210

    深度学习 + OpenCV,Python实现实时目标检测

    首先,我们打开一个新文件,将其命名为 real_time_object_detection.py,随后加入以下代码: 我们从第 2-8 行开始导入封包。...现在,让我们遍历每一帧(如果你对速度要求很高,也可以跳过一些帧): 首先,我们从视频流中读取一帧(第 43 行),随后调整它的大小(第 44 行)。...帧捕捉循环剩余的步骤还包括:(1)展示帧;(2)检查 quit 键;(3)更新 fps 计数器: 上述代码块简单明了,首先我们展示帧(第 81 行),然后找到特定按键(第 82 行),同时检查「q」键(...如果已经按下,则我们退出帧捕捉循环(第 85、86 行)。最后更新 fps 计数器(第 89 行)。...我对样本视频使用了深度学习目标检测,结果如下: 图 1:使用深度学习和 OpenCV + Python 进行实时目标检测的短片。

    4.1K70

    教程 | 深度学习 + OpenCV,Python实现实时视频目标检测

    首先,我们打开一个新文件,将其命名为 real_time_object_detection.py,随后加入以下代码: ? 我们从第 2-8 行开始导入封包。...现在,让我们遍历每一帧(如果你对速度要求很高,也可以跳过一些帧): ? 首先,我们从视频流中读取一帧(第 43 行),随后调整它的大小(第 44 行)。...最后,我们使用刚才计算出的 y 值将彩色文本置于帧上(第 77、78 行)。 帧捕捉循环剩余的步骤还包括:(1)展示帧;(2)检查 quit 键;(3)更新 fps 计数器: ?...上述代码块简单明了,首先我们展示帧(第 81 行),然后找到特定按键(第 82 行),同时检查「q」键(代表「quit」)是否按下。如果已经按下,则我们退出帧捕捉循环(第 85、86 行)。...如果 OpenCV 能够访问你的摄像头,你可以看到带有检测到的目标的输出视频帧。我对样本视频使用了深度学习目标检测,结果如下: ?

    3.3K70

    几行Python代码实现动图倒放,太好玩

    大家好,我是辰哥~ 开始分享今天的技术之前,先来看几个动图(gif) (原图1) (倒放1) ---- (原图2) (倒放2) 上诉两个动图,可以通过几行Python代码就可以实现倒放效果...cg.gif") # GIF 动图拆分器 list = ImageSequence.Iterator(image) 拆分动图 imgs = [] # 拆分后的图片进行编号,从1开始 k = 1 # 遍历图片流的每一帧...# 拆分图片流进行反序 imgs.reverse() # 将反序后所有帧图保存下来,命名为reverse_cg.gif imgs[0].save("reverse_cg.gif", save_all=...True, append_images=imgs[1:]) 最后生成结果 完整源码 from PIL import Image, ImageSequence # 加载本地动图 image = Image.open...("cg.gif") # GIF 动图拆分器 list = ImageSequence.Iterator(image) imgs = [] # 拆分后的图片进行编号,从1开始 k = 1 # 遍历图片流的每一帧

    38830

    Python函数

    仅仅能在 lambda 表达式中封装有限的逻辑进去 3.lambda 函数拥有自己的命名空间,且不能访问作用域外的其他变量 """ _sum = lambda num1, num2: num1...每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧 由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出 如果不信的话大家可以把上面的 n 改得大一点 """...迭代6.1 """ 如果给定一个 list 或 tuple ,我们可以通过 for 循环来遍历这个 list 或tuple , 这种遍历我们称为迭代(Iteration) 在 Python 中,迭代是通过...for ... in 来完成的 可迭代对象(Iterable):可以直接作用于 for 循环的对象,无论有无下标 可以直接作用于 for 的数据类型一般分为两种: 1.集合数据类型:如list...Python 内置的 enumerate 枚举函数可以把一个 list 变成索引-元素对, 这样就可以在for循环中同时迭代索引和元素本身 """ # 同时引用两个变量 l = [(1, 2)

    99770

    别人还在一个一个的填表格,而我已经用python写了个批量填充数据的自动化脚本,让它处理了上百份表格

    一个表填着容易,要是几百上千份表格就很难受了,所以,今天教大家如何用python批量填充数据。...数据源:今天需要用到的数据是上一期爬虫案例的数据源:手把手教你用python爬取猫眼TOP100电影信息 ?...需要把数据填充到以下工作表的相应表格,然后以对应的电影名称为名生成多个excel工作簿,并以对应的电影名称为重命名工作表: ?...任务目标: 填充对应数据进表格,并重命名对应的工作表名,最后以电影名称为名保存为多个工作簿。 填充对应数据进表格,以电影名称为名创建多个工作表,最后保存为单个工作簿。...这里直接用for循环一个一个的取出数据,然后ws.title修改工作表名称并把数据填充进相应的表格,最后以电影名称为名,保存为多个excel工作簿: # 遍历数据源一个一个取出数据 for d, i,

    3.1K31

    Go语言学习笔记一 Golang的安装与基础

    (就像是java中不带break,但只会执行下面一个) 循环语句 在Go语言中,只有for循环,没有while和do..while循环 for循环语法: for 初始表达式; 布尔表达式; 迭代因子 {...,遍历的每个结果的索引值被i接收,每个结果的具体数值被value接收 //遍历对字符进行遍历的 } 函数的使用 在Golang中使用函数的基本语法为: func 函数名(形参列表)(...这里是由于Go语言内存的特点,对于各个函数会在内存栈里开辟不同的栈帧,这里主函数调用其他函数,并传入变量,会使得变量的值传入其他函数的栈帧,而由于本质是不同栈帧,其余方法里的变量和main里的变量内存地址不同...(8)函数既然是一种数据类型,因此在Go中,函数可以作为形参,接收函数传入 (9)为了简化数据类型定义,Go支持自定义数据类型,基本语法: type 自定义数据类型名 数据类型 可以理解为 : 相当于起了一个别名...(10)支持对函数返回值命名,即可以给返回值命名,之后会自动返回该值: func test() (return1 int, return2 int) { return1 = 10 return2 =

    70550

    构建自定义人脸识别数据集的三种训练方法

    让我们写一个简单的Python脚本来帮助构建我们的自定义人脸识别数据集。...detector将在逐帧循环环节工作。 我们在8行上实例化并启动我们的VideoStream。 注意: 如果你使用Raspberry Pi,请注释第8行,并取消注释第九行。...我们的人脸检测方法的结果是列表rects(矩形边框)。在 第16行和第17行,我们遍历rects并在frame上绘制矩形以用于显示。...对于我们希望“保留”的每一帧,必须按下“k”键 。我建议你脸部的帧数有不同的角度,区域,带或者不带眼镜等。 退出循环并准备退出脚本(quit)。...使用这种方法,你需要手动检查: 搜索引擎结果 社交媒体资料 照片分享服务 …然后手动将这些图像保存到磁盘。 总结 在这篇文章中,我们简要介绍了三种创建面部识别自定义数据集的方法。

    2.2K30

    学习—用 Python 和 OpenCV 检测和跟踪运动对象

    firstFrame = None # 遍历视频的每一帧 while True: # 获取当前帧并初始化occupied/unoccupied文本 (grabbed, frame) =...正如你会在本文的结果一节所看到的那样,当有人在屋里走动的时候,我们可以轻易的检测到运动并追踪他们。 现在我们已经获取了视频文件/摄像头数据流的引用,我们可以在第一行(原文第27行)开始遍历每一帧了。...在这个例子中,如果没有成功从视频文件中读取一帧,我们会在10-11行(原文35-36行)跳出循环。 我们可以开始处理帧数据并准备进行运动分析(15-17行)。...让我们给我们简单的探测器一次尝试的机会,打开终端并执行下面指令: python motion_detector.py —video videos/example_01.mp4 下图是一个 gif 图,显示来自探测器的一些静止帧数据...输入下面命令: python motion_detector.py —video videos/example_02.mp4 同样,这里是我们运动检测结果的完整视频: http://www.youtube.com

    3K10

    Python办公自动化(六)|自动更新表格,告别繁琐

    首先我们先用Python来创建一些随机数据,数据已经充分则可以跳到下一步骤。..., '足球', '羽毛球', '跳绳'] source_lst = ['朋友介绍', '微信聊天', '网页弹窗', '其他'] for i in range(30): # 不断去拷贝第一页并重命名...random.choice(["Y", "N"])}', f'{random.choice(["Y", "N"])}', f'{random.choice(["Y", "N"])}'] # 嵌套循环...,再运行后续代码,OK现在数据就创建好了,然后正式进入我们的问题 合并多个sheet并写入汇总sheet 由于后面多个表的更新后需要按日期顺序在汇总表里呈现,因此有一个策略是利用openpyxl按顺序遍历各表然后写回汇总表...拜拜,我们下个案例见~ 注1:本文使用的数据与源码可在后台回复0523获取 注2:Python办公自动化系列旨在用Python解决工作中的繁琐操作,如果你有相关需求可在后台给我留言,我们会无偿为你解决并分享

    1.7K30

    python中如何用列表+yield打破内卷的递归

    正常思路: 行3:遍历获取到的路径 行4:每个路径判断一下是否为文件夹,如果是文件,就打印 行9:但是,如果是文件夹,再次调用题目提供的函数,再次遍历?...但是 python 怎么保存前面层的调用信息(每一层的变量数据,执行到哪一行等信息)? 这里的第三层只要没有文件夹,那么它自然不会再次调用函数,最后就会结束。...这是递归的退出条件,必须保证递归存在退出条件,否则就是死循环 在 python 中,函数的调用信息保存在一个叫帧的东西里面,我以前就有相关文章讲解,相关链接放在文末 这就是调用栈发挥作用的时候。...看下图: 0层调用函数,先把当前层帧放入栈,然后执行1层代码 1层执行到行7,再次调用函数,此层放入栈 03 层函数由于没有文件夹,所以没有调用函数,正常结束,销毁 03 层销毁后,python...python 中使用 yield 返回生成器结果是最方便的。 仅仅在打印路径的地方,修改为 yield p ,把路径"临时"返回 调用者就像处理集合的方式,就可以执行自己的逻辑。

    1.7K20

    IPython使用学习笔记

    学习《利用python进行数据分析》第三章 IPython:一种交互式计算和开发环境的笔记,共享给大家,同时为自己作为备忘用。 安装ipython用pip即可。...代码 %cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码 %reset 删除interactive命名空间中的全部变量/名称 %page OBJECT 通过分页器打印输出OBJECT...%run script.py 在IPython中执行一个Python脚本文件 %prun statement 通过cProfile执行statement,并打印分析器的输出结果 %time statement...按下ctrl+r将会循环搜索历史命令中每一条与输入相符的行。...在这个调试器中,可以执行任意python代码并查看各个栈帧中的一切对象和数据(也就是解释还“留了条生路”的那些)。 默认从最低级开始的(即错误发生的地方)。

    2.2K50

    高阶实战 | 如何用Python检测伪造的视频

    计划 写一个程序来检测视频中是否有循环。我之前从来没有用Python处理过视频,所以这对我来说有点难度。 首次尝试 看一个视频就像是在快速地翻看图片,这也是使用python读取视频数据的方式。...我们看到的每个“图片”都是视频的一个帧。在视频播放时,它是以每秒30帧的速度进行播放。 在视频数据中,每一帧都是一个巨大的数组。...我们来看看结果: 很好,结果看起来很直观,从下图中可以看出,帧5928与帧2048454相同,帧5936与帧2048462相同,以此类推。让我们目视确认。 完美。所以,这个视频肯定是伪造的。...情况变复杂了 该程序的作用是确定相同的帧,这样我就能知道视频是在循环播放。让我们来看看上面两幅图像的后2秒的帧(帧5936 + 60和帧2048462 + 60)是什么样的。...结果 我把原来的哈希函数换成了这个新的均值哈希函数,并重新计算分析。瞧,出现了太多的匹配帧!

    1.4K50

    使用OpenCV,Python和深度学习进行人脸识别

    我们还需要分别在循环之前初始化两个列表, knownEncodings 和 knownNames。这两个列表将包含数据集中每个人的面部编码和对应名称(第6行和第7行)。 然后开始循环。...我们在第2行中循环每个图像的路径 。 然后,在第6行从imagePath中提取该人的名字(因为我们的子目录命名恰当) 。...让我们继续,循环遍历每个人的边界框和标签名称,并将其绘制在输出图像上以进行可视化: # loop over the recognized faces for ((top, right, bottom,...然后,我们启动一个while循环,并开始抓取和处理帧: # loop over frames from the video file stream while True: # grab the...接下来,让我们在我们刚刚找到的人脸编码上进行循环遍历: # loop over the facial embeddings for encodingin encodings: # attempt

    10.1K71

    22个高级Python知识点总结,干货!

    Step.2 数值类型 ini类型 float类型 complex类型 bool类型 Step.3 迭代类型 在Python中,迭代类型可以使用循环来进行遍历。...实例方法只能通过类的实例来调用;静态方法是一个独立的、无状态的函数,紧紧依托于所在类的命名空间上;类方法在为了获取类中维护的数据,比如: ?...如果再次判断descr类型为非数据描述符,就会调用descr.__get__(b, type(b)),并将结果返回,结束执行。 如果descr是普通属性,直接就返回结果。...Python虚拟机中有一个栈帧的调用栈,栈帧保存了指定的代码的信息和上下文,每一个栈帧都有自己的数据栈和块栈,由于这些栈帧保存在堆内存中,使得解释器有中断和恢复栈帧的能力: ?...迭代器是一种不同于for循环的访问集合内元素的一种方式,一般用来遍历数据,迭代器提供了一种惰性访问数据的方式。

    1K00
    领券