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

关于视频去水印的一点尝试

一. 视频去水印的几种方法

1. 使用ffmpeg delogo滤镜

delogo 滤镜的原理是通过插值算法,用水印周围的像素填充水印的位置。

示例:

ffmpeg -i input.mp4 -filter_complex "[0:v]delogo=x=420:y=920:w=1070:h=60" output.mp4

该命令表示通过滤镜去除水印,水印的位置为(x,y),尺寸为wxh。

效果如下:

这种方式从原理上来讲是存在问题的,可以保证画面整体颜色看起来差不多,但是局部看画面是不连续的。对于水印周围是纯色的情况,这种方式是没有问题的。

适用场景:水印位置为纯色,或者颜色变化不明显的情况。

2. AI 去水印

尝试了可以搜索到的几种AI软件:

(1)有的使用的是ffmpeg delogo类似的方案;

(2)有的使用对象识别的方式,理论上来说,这种方式是可行的。但是也有一些问题,首先图像识别运算量大,耗时特别长。如果是单张图片还可以,对于视频耗时太长了。

3. 同系列图片替换

这是自己尝试的一种方式,算是抛砖引玉吧。原理也很简单,一般视频就是连续变化的图片,只要找到两张图片水印区域不重叠,就可以进行替换。

原图1

原图2

原图1相对于原图2的偏转,这是对原图1 进行旋转后的效果。

提取水印位置,可以看到原图1和原图2,在水印处是没有重叠的。

用从原图2中提取的水印位置的图片,替换原图1 中的水印位置。可以看到图像是连续的,除了图像的清晰度有些区别。这是因为原图1和原图2 水印位置的图片是不一样导致的。

下面是替换后的视频:

视频去水印-CSDN直播

这种方法的适用场景:

1. 在水印区域是相同的或者变化很小

2. 水印区域在不同图片存在不重叠的情况。

上面是我的一点尝试,了解的东西有限,欢迎大家交流。

相关文章:

  • centos docker ngnix
  • JavaScript内置对象
  • 在IDEA中误操作Git Rollback后的恢复方法
  • word分栏使得最后一页内容自动平衡
  • 【计算机网络】数据链路层数据帧(Frame)格式
  • Colmap 的安装与使用
  • 极狐GitLab 17.8 正式发布,多项 DevOps 重点功能解读【二】
  • 11-跳跃游戏
  • UE_C++ —— Unreal Smart Pointer Library
  • typescript快速入门之安装与运行
  • C++入门之《拷贝构造函数》详解
  • 专为Apple Silicon优化的开源机器学习框架:MLX (Machine Learning eXtension)
  • 【C++指南】解锁C++ STL:从入门到进阶的技术之旅
  • 国产编辑器EverEdit - 二进制模式下观察Window/Linux/MacOs换行符差异
  • 高项第六章——项目管理概论
  • 字节二面:DNS是什么?是什么原理?
  • flowable学习
  • 老游戏回顾:GOWpsp
  • 第33课 绘制原理图——放置文本框
  • CAS单点登录(第7版)22.中断通知
  • 外交部部长助理兼礼宾司司长洪磊接受美国新任驻华大使递交国书副本
  • 就规范涉企行政执法专项行动有关问题,司法部发布解答
  • 昆明公布3起经济犯罪案例:一人持有820余万假美元被判刑十年
  • “三个集中”之后:图说浦东新区28次撤乡并镇
  • 杞支雅男评《1517》|放眼世界,立足德国
  • 六连板成飞集成:航空零部件业务收入占比为1.74%,市场环境没有重大调整