位置: IT常识 - 正文

这年头还不来尝试线稿图视频??(这年头不好混图片)

编辑:rootadmin
这年头还不来尝试线稿图视频??

推荐整理分享这年头还不来尝试线稿图视频??(这年头不好混图片),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:这年头没有钱歌曲视频,这年头dj,这年头没有钱歌曲视频,这年头没有钱歌曲视频,这年头dj,这年头谁还没点故事,这年头谁还没点故事,这年头没有钱原唱,内容如对您有帮助,希望把文章链接给更多的朋友!

 🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 

🥰 博客首页:knighthood2001

😗 欢迎点赞👍评论🗨️

❤️ 热爱python,期待与大家一同进步成长!!❤️

先看后赞,已成习惯😁👍👍(只截取了一部分,怕截取太多,你们打开卡)

目录

前言

1原始视频逐帧提取.py

2原始视频音频提取.py

3-1PIL批量转换细节帧线稿图.py

3-2PIL批量转换边缘增强线稿图.py

4PIL帧-视频合成.py

5音视频合成最终有声完整视频.py

总结


前言

入门opencv,欢笑快乐每一天

大致思路和上篇文章的类似,这里采用了opencv+PIL+moviepy,最终制作了线稿图的带声音的MP4。

这里我讲了一些关于PIL的知识:利用PIL库进行简单的图像操作,隔壁打王者的小孩子都在向我要素描图,快上车!!

目录如下:需要准备一个视频

代码主要分成以下几个部分:

        1原始视频逐帧提取

这年头还不来尝试线稿图视频??(这年头不好混图片)

        2原始视频音频提取

        3-1PIL批量转换细节帧线稿图  3-2PIL批量转换边缘增强线稿图

        4PIL帧-视频合成

        5音视频合成最终有声完整视频

注:需要更改的,笔者已经在代码中注释todo了。

1原始视频逐帧提取.pyimport osimport cv2# todocap = cv2.VideoCapture('ikun.mp4')fps = cap.get(cv2.CAP_PROP_FPS)width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)frames = cap.get(cv2.CAP_PROP_FRAME_COUNT)print('fps:', fps, '\n', 'width:', width, '\n', 'height:', height, '\n', 'frames:', frames)# todopath = 'ikun'if not os.path.exists(path): os.mkdir(path)i = 0while True: flag, frame = cap.read() filename = path + '/{}.jpg'.format(str(i)) print(filename) cv2.imwrite(filename, frame) i = i + 1 if i > int(frames): break

        在上篇文章中,笔者是直接将原始视频提取的帧继续边缘检测处理后保存为图片,而在这里,笔者就直接提取原视频的帧并不做修改保存。便于后续操作。 

2原始视频音频提取.pyimport moviepy.editor as mpdef extract_audio(videos_file_path): my_clip = mp.VideoFileClip(videos_file_path) my_clip.audio.write_audiofile(f'{videos_file_path.split(".")[0]}.mp3')# todoextract_audio('ikun.mp4')3-1PIL批量转换细节帧线稿图.pyimport osfrom PIL import Imagefrom PIL import ImageFilter# todo 这里的path为之前逐帧提取的图片,new_path为新生成的线稿图保存的目录path = 'ikun'new_path = 'new_ikun1'if not os.path.exists(new_path): os.mkdir(new_path)# 输出原始目录图片数量a = os.listdir(path)b = len(a)print("原始目录图片数:", b)for i in range(b): '''细节''' square = Image.open(path + "/{}.jpg".format(i)) square1 = square.filter(ImageFilter.DETAIL) '''轮廓''' square2 = square1.filter(ImageFilter.CONTOUR) square2.save(new_path + "/{}.jpg".format(i)) print(new_path + "/{}.jpg".format(i))

这里笔者采用了PIL中细节+轮廓的方式,提取线稿图(PIL提取线稿图,需要有轮廓这一步骤)

图片变化展示

3-2PIL批量转换边缘增强线稿图.pyimport osfrom PIL import Imagefrom PIL import ImageFilter# todo 这里的path为之前逐帧提取的图片,new_path为新生成的线稿图保存的目录path = 'ikun'new_path = 'new_ikun2'if not os.path.exists(new_path): os.mkdir(new_path)# 输出原始目录图片数量a = os.listdir(path)b = len(a)print("原始目录图片数:", b)for i in range(b): '''边缘增强''' square = Image.open(path + "/{}.jpg".format(i)) square1 = square.filter(ImageFilter.EDGE_ENHANCE) '''轮廓''' square2 = square1.filter(ImageFilter.CONTOUR) square2.save(new_path + "/{}.jpg".format(i)) print(new_path + "/{}.jpg".format(i))

同样的,笔者在这里只换了PIL的一个函数,采用边缘增强+轮廓的方式,大家可以去我之前博客看看,大家也可以自行去尝试,试出多种风格。

 利用PIL库进行简单的图像操作,隔壁打王者的小孩子都在向我要素描图,快上车!!

图片变化展示:

 

(不知道为啥,感觉这个更好看)

4PIL帧-视频合成.pyimport cv2import ossize = (854, 480)# todo path和保存的视频名称需要根据变化path = 'new_ikun1'videowrite = cv2.VideoWriter('output_ikun1.mp4', -1, 25, size)a = os.listdir(path)n = len(a)for i in range(n): img = cv2.imread(path + "/{}.jpg".format(i)) videowrite.write(img)videowrite.release()print('end!')5音视频合成最终有声完整视频.pyimport moviepy.editor as mp# todo 路径都要看情况变化# todo 传入的线稿图视频video = mp.VideoFileClip('output_ikun1.mp4')audio = mp.AudioFileClip('ikun.mp3')video_merge = video.set_audio(audio)# todo 最终生成的带音频的视频video_merge.write_videofile('final_ikun1.mp4')# video = mp.VideoFileClip('output_ikun2.mp4')# audio = mp.AudioFileClip('ikun.mp3')# video_merge = video.set_audio(audio)# video_merge.write_videofile('final_ikun2.mp4')

注:4和5都只是根据3-1的线稿图内容进行制作视频

总结

        大致上已经讲完了,大家对这篇文章里面内容不熟悉的,可以看我前一篇文章,里面有详细讲解。

        接下来如果有空的话就会将其改为函数,方便大家更改与使用!!

        注:以上内容只是用来探讨🐔技术,方便大家对其产生兴趣!!

本文链接地址:https://www.jiuchutong.com/zhishi/298848.html 转载请保留说明!

上一篇:【JavaScript】DOM和事件简介和文档加载流程以及DOM查询(上)案例(附源码)(javascript bom dom)

下一篇:企微获取用户敏感数据(获取企业微信用户身份信息授权失败)

  • 华为平板语音助手怎么唤醒(华为平板语音助手怎么开启)

    华为平板语音助手怎么唤醒(华为平板语音助手怎么开启)

  • 爱奇艺会员分享二维码在哪里(爱奇艺会员分享电影非会员能看吗)

    爱奇艺会员分享二维码在哪里(爱奇艺会员分享电影非会员能看吗)

  • 微信怎么骑小黄车(微信怎么骑小黄车怎么开通)

    微信怎么骑小黄车(微信怎么骑小黄车怎么开通)

  • 苹果8p如何用耳机听歌(苹果8p怎样用耳机)

    苹果8p如何用耳机听歌(苹果8p怎样用耳机)

  • qq如何取消头像挂件(qq换不了头像怎么办?)

    qq如何取消头像挂件(qq换不了头像怎么办?)

  • 微信红包不收怎么看金额(微信红包不收怎么直接退回去)

    微信红包不收怎么看金额(微信红包不收怎么直接退回去)

  • opporeno黑屏按哪都不好使(opporeno黑屏按哪都不好使维修多少钱)

    opporeno黑屏按哪都不好使(opporeno黑屏按哪都不好使维修多少钱)

  • 交换机出来的网速都一样吗(交换机出来的网线还能接交换机吗)

    交换机出来的网速都一样吗(交换机出来的网线还能接交换机吗)

  • 频繁下载卸载app伤手机吗(频繁下载卸载app怎么办)

    频繁下载卸载app伤手机吗(频繁下载卸载app怎么办)

  • 酷我账号能几个人用(酷我音乐一个会员账号可以登陆多少台设备)

    酷我账号能几个人用(酷我音乐一个会员账号可以登陆多少台设备)

  • nova5pro低配版啥意思(nova5pro高配版)

    nova5pro低配版啥意思(nova5pro高配版)

  • 微信视频费流量吗(微信视频费流量还是语音费流量)

    微信视频费流量吗(微信视频费流量还是语音费流量)

  • 焊接在主板上的cpu怎么更换(焊接在主板上的内存条可以换吗)

    焊接在主板上的cpu怎么更换(焊接在主板上的内存条可以换吗)

  • 全名k歌扫一扫在哪里(全名k歌怎么扫二维码)

    全名k歌扫一扫在哪里(全名k歌怎么扫二维码)

  • 苹果手机无法激活需要更新(苹果手机无法激活要连接mac)

    苹果手机无法激活需要更新(苹果手机无法激活要连接mac)

  • wpsreset按了怎么恢复(wpsreset按了怎么用手机调回)

    wpsreset按了怎么恢复(wpsreset按了怎么用手机调回)

  • 格式刷按钮的作用是什么(格式刷按钮的作用)

    格式刷按钮的作用是什么(格式刷按钮的作用)

  • ipv6地址怎么获取(ipv6地址 获取)

    ipv6地址怎么获取(ipv6地址 获取)

  • 怎么看自己微信打标没有(怎么看自己微信账号是否异常)

    怎么看自己微信打标没有(怎么看自己微信账号是否异常)

  • 怎样卸载kingroot软件(怎样卸载kingsoft)

    怎样卸载kingroot软件(怎样卸载kingsoft)

  • realme x2支持otg连接吗

    realme x2支持otg连接吗

  • 苹果xr跟8p机身大小(苹果xr和8p重量差多少)

    苹果xr跟8p机身大小(苹果xr和8p重量差多少)

  • 蓝牙耳机闪光能关闭吗(蓝牙耳机闪光能修吗)

    蓝牙耳机闪光能关闭吗(蓝牙耳机闪光能修吗)

  • 视频渲染和不渲染区别(渲染跟不渲染区别)

    视频渲染和不渲染区别(渲染跟不渲染区别)

  • 苹果x快充支持多少w(苹果x支持的快充)

    苹果x快充支持多少w(苹果x支持的快充)

  • php中trim函数是什么?(php ltrim)

    php中trim函数是什么?(php ltrim)

  • 报销是否需要发票
  • 折扣优惠 印花税也是折扣缴纳吗
  • 核定征收的小规模企业所得税B表收入总额含税吗
  • 高新技术企业费用认定
  • 抵债资产涉税问题
  • 收到费用报销发票怎么做
  • 公益性生物资产属于什么科目
  • 固定资产的资本化后续支出
  • 周转材料低值易耗品摊销
  • 转让部分股份流程
  • 房地产开发成本费用明细表
  • 支付的运输费用可以扣除吗
  • 没超过标准的招待费缴税吗
  • 存货盘盈与盘亏
  • 火车车票怎么样
  • 案例分析房产税会计分录怎么写?
  • 营改增后企业要交哪些税
  • 购买房产,税费怎么计算
  • 行程单燃油附加费可以抵扣吗
  • 车辆保险抵扣会计分录
  • 鸿蒙系统智慧场所在哪
  • 债权债务重组公司
  • 长期股权投资权益法四个明细科目
  • msoxmled.exe是什么软件
  • 电脑右键一直转圈
  • 视同销售成本如何确认?
  • linux如何管理进程
  • 接受捐赠的固定资产可以入账依据是哪些?
  • 发票管理的基础环节
  • 增值税实际税负计算公式
  • 明细分类账余额借贷怎么填
  • php浮点数
  • 挂靠公司收费几个点
  • 构造二叉排序树代码
  • vue清空form数据再重新赋值
  • 微信小程序怎么制作自己的小程序
  • 修改Laravel5.3中的路由文件与路径
  • python字符串多行
  • 预缴与申报
  • 企业之间的借款计入什么科目
  • 会计中的一级科目是什么意思
  • three.js gui
  • 异地多缴纳预缴税怎么退
  • 工程款增值税专用发票需要写工程名称吗
  • SQL Server 2005 模板参数使用说明
  • 结转成本类账户及税金及附加到本年利润
  • 税款差0.05是怎么处理
  • 企业所得税季度申报表怎么填
  • 固定资产大修理和更新改造的区别
  • 分配水电费会计科目
  • 公众号注册验证退款
  • 定期存款放入哪个会计科目
  • 期初借款余额计算公式
  • 税控盘服务费什么样的发票可以抵扣
  • sql server数据库文件的扩展名是
  • mysql查询结果是什么类型
  • mysql5.7.29安装
  • linux下安装mysql简单的方法
  • linux opencl
  • fedora s7
  • win7系统压缩包
  • 清理macbook清除系统垃圾
  • win7系统任务栏跑到右侧怎么办
  • centosfind命令
  • win10系统哪款好
  • rasman.exe - rasman是什么进程 有什么作用
  • win7系统玩红色警戒怎么全屏设置
  • 电脑ip地址设置在哪里
  • 电脑win8.1系统怎么样
  • win8 系统设置
  • win7运行老游戏方法
  • linux使用curl进行接口测试
  • win7如何安装iis7.0
  • linux使用命令查看ip地址
  • linux tar命令安装
  • andengine学习,《android游戏开发实践指南》详解
  • bash 数值比较
  • Node.js中的全局变量有哪些
  • python中的单下划线和双下划线
  • Android性能优化的方面12个
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设