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

FFmpeg-4.2.4的去logo源码分析

1.源码
libavfilter/vf_delogo.c

2.源码分析

/**  去logo算法, 函数的参数解释如下:
w: 输入图像的宽度
h: 输入图像的高度
logo_x: 标志区域左上角的x坐标
logo_y: 标志区域左上角的y坐标
logo_w: 标志的宽度
logo_h: 标志的高度
band: 处理区域周围的带宽大小
show: 是否在处理区域周围显示一个矩形,用于调试参数
direct: 如果为非零值,则进行原地处理
 函数处理的解释如下:
函数首先计算处理区域的边界,以确保不会超出图像范围。
然后,它设置了一些指针和变量,用于在图像中访问像素。
如果direct为0,函数会先将输入图像复制到输出图像中。
接下来,函数使用双层循环遍历处理区域内的像素。
对于每个像素,它进行了一些插值计算,以根据像素的相对距离和采样率进行加权插值。
然后,根据像素的位置,将插值结果存储在输出图像中。
最后,函数更新指针,继续处理下一行的像素,直到处理完整个处理区域。
这段代码实现了一个简单的delogo算法,用于在图像中去除标志。
它使用了插值和加权计算来平滑地填充标志区域的像素值,
并在处理区域周围进行了一些边缘处理,以避免突然的颜色变化。
*/

static void apply_delogo(uint8_t *dst, int dst_linesize,
    uint8_t *src, int src_linesize,
    int w, int h, AVRational sar,
    int logo_x,

http://www.lryc.cn/news/95817.html

相关文章:

  • 深度学习(一)
  • Stream API将对象中的某一字段取出转换为list或数组
  • 什么是Java中的JVM(Java虚拟机)?
  • springboot + redis + 注解 + 拦截器 实现接口幂等性校验
  • PLC编程:关键在于模拟操作流程和实现控制
  • List的各种排序
  • 在自定义数据集上微调Alpaca和LLaMA
  • Python 实现接口类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)
  • Solr原理剖析
  • 解决 “无法将 ‘npm‘ 项识别为 cmdlet、函数、脚本文件或可运行程序的名称“ 错误的方法
  • Python 电商API 开发最佳实践
  • JAVA基础-集合(List与Map)
  • 19 QListWidget控件
  • 手动安装docsify
  • yaml语法详解
  • ubuntu下tmux安装
  • ssh打开远程vscode
  • Socket发送数据---winsock库和boost库
  • Qt Core学习日记——第七天QMetaObject(上)
  • 100、用简洁的语言描述一下:TCP的三次握手和四次挥手(不需要长篇大论)
  • 中南大学硕士论文latex版本全指导
  • RFC8470在HTTP中使用早期数据
  • macOS Big Sur 11.7.9 (20G1426) 正式版 ISO、PKG、DMG、IPSW 下载
  • 【LeetCode】62.不同路径
  • 使用序列化和反序列化函数archivedDataWithRootObject和unarchivedObjectOfClasses的使用和遇到问题及解决方案
  • python获取鼠标出颜色
  • Github Flow工作流简单介绍(以部署为中心的开发模式)
  • selenium浏览器驱动下载
  • go学习 模块与包 - Init函数 - 如何导入第三方包 - 切片与数组的数据传递方式 - go中文件的读写
  • 2023第五届全国生物资源提取与应用创新论坛即将举办