filter - 使用 FFmpeg 仅增强图像的一部分的对比度?

标签 filter ffmpeg

我可以使用 FFmpeg eq filter 使用以下命令增强整个图像的对比度:

ffmpeg -i input.png -vf eq=contrast=2 -c:a copy output.png
但是我可以使用 FFmpeg 仅增强图像的一部分(例如,第二象限)的对比度吗?我查看了另一篇关于 how to apply a filter only on a certain duration of a film 的帖子.我可以以某种方式插入类似 enable='between(x,0,10)*between(y,0,10)' 的内容吗?为了我的目的进入上面的代码?谢谢。

最佳答案

正方形/长方形区域
如果要应用效果的区域是正方形或矩形,您可以:

  • crop一个地区
  • 申请 eq过滤到裁剪区域
  • overlay原始
  • 顶部的裁剪区域

    将 eq 应用于右上象限的示例:
    ffmpeg -i input.png -filter_complex "crop=in_w/2:in_h/2:out_w:0,eq=contrast=2[c];[0][c]overlay=overlay_w:0" output.png
    
    复杂的形状
    使用与图像大小相同的灰度蒙版:
    ffmpeg -i image.jpg -i mask.png -filter_complex "[0]eq=contrast=2[contrast];[contrast][1]alphamerge[alf];[0][alf]overlay=format=auto" output.png
    

    关于filter - 使用 FFmpeg 仅增强图像的一部分的对比度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66509203/

    相关文章:

    javascript - 防止重复产品从购物车中删除

    android - 如何使用 AutoCompleteTextView 并使用来自 Web API 的数据填充它?

    url - ffmpeg 流式传输 rtsp 与 uri (url) 中的参数

    android - 无法在 TextureView Android 中播放视频

    video - 将 FFMPEG : How to do a Scene Change Detection? 与时间码一起使用?

    java - 如何使用 FFmpeg 调整 yuv420sp 的大小

    asp.net-mvc - 使用授权过滤器区分 Controller 操作

    angularjs - 仅在点击时触发过滤器

    VBA Excel : Filter a column

    video - exe媒体文件转换为mp4