ffmpeg的视频滤镜: 抠图-chromakey

news/2024/10/27 14:58:13/

滤镜简述

chromakey

官网链接 =》 https://ffmpeg.org/ffmpeg-filters.html#chromakey-1

这个滤镜主要用于抠图,并且背景要是纯色背景,比如绿幕、蓝幕。

滤镜的使用

参数
   color             <color>      ..FV.....T. set the chromakey key color (default "black")similarity        <float>      ..FV.....T. set the chromakey similarity value (from 1e-05 to 1) (default 0.01)blend             <float>      ..FV.....T. set the chromakey key blend value (from 0 to 1) (default 0)yuv               <boolean>    ..FV.....T. color parameter is in yuv instead of rgb (default false)
  • color,要被过滤的颜色,可以写英文比如green(英文名称需要再`ffmpeg -colors` 能找到) ,也可以使用十六进制的字符串,比如"#ffefd5"
  • similarity,设置这个值可以过滤掉和color相似的颜色
  • blend, 这个值没有理解太透。 不过设置这个值会让图片变透明,一般也就在0.1-0.2之间。
  • yuv, 使用yuv格式的颜色,这是个布尔值。

color如果使用颜色的英文名字,效果不太好,也很麻烦,建议你使用十六进制字符串。如果你不清楚十六进制字符串,可以打开电脑上的画图软件,用吸管吸一下:

使用

原图

如果需要原图可以加群(结尾有群号)找我要一下哈。

ffmpeg -y -i ffm_media/snail.jpg -filter_complex "chromakey=#02fa03:0.2:0.1" result/chromakey/chromakey_test_2.png

大致看一下效果还不错,放大了看边缘还有些绿色,总体上还算不错了,如果进一步去除边缘的绿色,可以加大blend值,但是会出现锯齿:

ffmpeg -y -i ffm_media/snail.jpg -filter_complex "chromakey=#02fa03:0.2:0.5" result/chromakey/chromakey_test_3.png

 blend值比较大的时候就会变透明

下面是使用yuv格式的命令

ffmpeg -y -i ffm_media/snail.jpg -filter_complex "chromakey=0x962B15:0.2:0.1:true" result/chromakey/chromakey_test_yuv.png

rgb颜色值可以和yuv格式互换,具体操作可以百度一下哈,并且命令行只接受十六进制的值。

## 祝你好运hope("大神多多指点")
topic("有问题可以交流呀")
concat("求求QUN", "61480", "9646")


http://www.ppmy.cn/news/1542364.html

相关文章

基于SSM轻型卡车零部件销售系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;配件类型管理&#xff0c;配件信息管理&#xff0c;订单信息管理&#xff0c;检修休息管理&#xff0c;系统管理 用户账号功能包括&#xff1a;系统首页&#xff0c;个人中心&…

虚拟现实在制造业中的应用

当你想到制造业中的虚拟现实技术时&#xff0c;你脑海中闪过的第一个念头是什么&#xff1f;从目前来看&#xff0c;只需几年时间&#xff0c;制造业就将离不开虚拟现实技术的帮助。实施虚拟现实应用对制造业来说都有诸多好处。通常情况下&#xff0c;制造设施都是由各种机器组…

15分钟学 Go 第 19 天:接口的实现

第19天&#xff1a;接口的实现 欢迎来到Go语言学习的第19天。在今天的课程中&#xff0c;我们将深入探讨如何实现接口。理解接口的实现对于掌握Go语言的编程理念至关重要&#xff0c;它将帮助我们编写模块化、可扩展的代码。今天的学习目标是“学会实现接口”。 学习目标 深…

ubuntu新装ubuntu,重启黑屏

现象&#xff1a;双系统电脑向移动硬盘安装Ubuntu系统后&#xff0c;重启黑屏并显示Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. 又拔下无法启…

Android H5页面性能分析策略

文章目录 引言一、拦截资源加载请求以优化性能二、通过JavaScript代码监控资源下载速度三、使用vConsole进行前端性能调试四、使用Chrome DevTools调试Android端五、通过抓包分析优化网络性能六、总结 引言 在移动应用开发中&#xff0c;H5页面的性能直接影响到用户体验。本文…

vue3组件通信--props

目录 1.父传子2.子传父 最近在做项目的过程中发现&#xff0c;props父子通信忘的差不多了。下面写个笔记复习一下。 1.父传子 父组件&#xff08;FatherComponent.vue&#xff09;&#xff1a; <script setup> import ChildComponent from "/components/ChildComp…

五种Pandas图表美化样式汇总

Pandas是一种高效的数据处理库&#xff0c;它以dataframe和series为基本数据类型&#xff0c;呈现出类似excel的二维数据。 在Jupyter中&#xff0c;会美化Pandas的输出。不同于IDE展示的文本形式&#xff0c;Jupyter可以通过CSS修改表格的样式。 我们在做excel表格的时候&am…

Qt中使用线程之QThread

使用Qt中自带的线程类QThread时 1、需要定义一个子类继承自QThread 2、重写run()方法&#xff0c;在run方法中编写业务逻辑 3、子类支持信号槽 4、子类的构造函数的执行是在主线程进行的&#xff0c;而run方法的执行是在子线程中进行的 常用方法 静态方法 获取线程id 可…