4、ffmpeg系列学习——FFmpeg的图像处理

这篇具有很好参考价值的文章主要介绍了4、ffmpeg系列学习——FFmpeg的图像处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. FFmpeg的图像处理命令

  1. 调整图像大小

ffmpeg -i input.jpg -vf scale=640:360 output.jpg

上述命令将输入图像 input.jpg 调整为分辨率为 640x360 的输出图像 output.jpg。

  1. 图像裁剪

ffmpeg -i input.jpg -vf crop=640:360:80:60 output.jpg

上述命令将输入图像 input.jpg 裁剪为宽度 640,高度 360,x 轴偏移量为 80,y 轴偏移量为 60 的输出图像 output.jpg。

  1. 图像旋转

ffmpeg -i input.jpg -vf "transpose=1" output.jpg

上述命令将输入图像 input.jpg 逆时针旋转 90 度,输出图像 output.jpg。

  1. 图像加水印

ffmpeg -i input.jpg -i watermark.png -filter_complex "overlay=10:10" output.jpg

上述命令将输入图像 input.jpg 加上水印图像 watermark.png,水印位置为 (10,10),输出图像 output.jpg。

  1. 图像模糊

ffmpeg -i input.jpg -filter_complex "boxblur=5:1" output.jpg

上述命令将输入图像 input.jpg 进行模糊处理,模糊程度为 5,模糊类型为 boxblur,输出图像 output.jpg。

  1. 图像去噪

ffmpeg -i input.jpg -filter_complex "removegrain=20" output.jpg

上述命令将输入图像 input.jpg 进行去噪处理,去噪程度为 20,输出图像 output.jpg。

  1. 图像缩略图

ffmpeg -i input.jpg -vf "thumbnail,scale=640:360" -frames:v 1 output.jpg

上述命令将输入图像 input.jpg 转换为分辨率为 640x360 的缩略图,输出图像 output.jpg。

  1. 视频截图

视频截图是将视频中的某一帧或多帧图像提取出来,生成图片文件的过程。在 FFmpeg 中,使用 -ss 参数指定截取的时间点,使用 -vframes 参数指定截取的帧数,使用 -r 参数指定帧率。下面是一些常见的视频截图操作:

  1. 截取视频的第一帧作为封面图:

ffmpeg -i input.mp4 -ss 00:00:00.000 -vframes 1 output.jpg
  1. 截取视频中的一帧作为截图:

ffmpeg -i input.mp4 -ss 00:00:10.000 -vframes 1 output.jpg

其中 -ss 参数指定截取视频的时间点,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。

  1. 截取视频中的多帧图像:

ffmpeg -i input.mp4 -ss 00:00:10.000 -t 5 -r 1 -f image2 output_%03d.jpg

其中 -ss 参数指定截取视频的起始时间点,-t 参数指定截取视频的时长,-r 1 指定每秒截取一帧,-f image2 指定输出为图片格式,output_%03d.jpg 指定输出文件名,%03d 表示输出文件名中的数字以三位数显示,逐个递增。

  1. 截取视频中的某个时间段内的多帧图像:

ffmpeg -i input.mp4 -ss 00:00:10.000 -t 5 -r 1 -f image2 output_%03d.jpg

其中 -ss 参数指定截取视频的起始时间点,-t 参数指定截取视频的时长,-r 1 指定每秒截取一帧,-f image2 指定输出为图片格式,output_%03d.jpg 指定输出文件名,%03d 表示输出文件名中的数字以三位数显示,逐个递增。

  1. 截取视频中的关键帧作为截图:

ffmpeg -i input.mp4 -vf select="eq(pict_type\,I)" -vframes 1 output.jpg

其中 -vf select="eq(pict_type\,I)" 参数指定选择视频中的关键帧作为截图,-vframes 1 指定只截取一帧图像,output.jpg 指定输出文件名和格式。

  1. 视频水印添加

在视频中添加水印可以保护版权,防止他人盗用或修改视频。FFmpeg提供了多种方式来添加水印,下面是一些常用的命令示例:

  1. 添加文本水印:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf:text='My Watermark':fontcolor=white:fontsize=24:x=10:y=10" output.mp4

这个命令会在输入视频的左上角添加一个白色的"My Watermark"文本水印。

  1. 添加图片水印

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4

这个命令将"watermark.png"图片叠加在输入视频的左上角。

  1. 添加透明图片水印:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10:alpha=0.5" output.mp4

这个命令与前一个命令类似,但是"watermark.png"图片有50%的透明度。

  1. 添加滚动文本水印:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf:text='My Watermark':fontcolor=white:fontsize=24:x=w-tw-10:y=h-th-10:enable='between(t,5,15)'" output.mp4

这个命令将"My Watermark"文本水印添加在输入视频的右下角,从第5秒开始到第15秒结束,而且水印是在这期间滚动的。

这些命令只是FFmpeg添加水印的众多方法中的一部分。通过这些命令的示例,我们可以了解如何添加文本水印、图片水印以及一些高级选项,如水印位置、透明度和滚动文本水印等。

  1. 视频特效添加

在 FFmpeg 中,我们可以使用滤镜来添加各种视频特效。下面简单介绍几个常见的视频特效:

  1. 旋转特效

使用 rotate 滤镜可以对视频进行旋转。比如以下命令将视频逆时针旋转90度:

ffmpeg -i input.mp4 -vf "rotate=PI/2" output.mp4
  1. 镜像特效

使用 hflip 和 vflip 滤镜可以实现视频水平和垂直镜像。比如以下命令将视频水平镜像:

ffmpeg -i input.mp4 -vf "hflip" output.mp4
  1. 模糊特效

使用 boxblur 滤镜可以对视频进行模糊处理。比如以下命令对视频进行模糊处理:

ffmpeg -i input.mp4 -vf "boxblur=10:2" output.mp4
  1. 缩放特效

使用 scale 滤镜可以对视频进行缩放。比如以下命令将视频缩小一半:

ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4
  1. 灰度特效

使用 colorchannelmixer 滤镜可以将视频转换为灰度图像。比如以下命令将视频转换为灰度图像:

ffmpeg -i input.mp4 -vf "colorchannelmixer=0.3:0.4:0.3:0:0.3:0.4:0.3:0:0.3:0.4:0.3" output.mp4

在 colorchannelmixer 滤镜中,第一行表示红色通道、绿色通道、蓝色通道的转换系数,第二行表示常数项。文章来源地址https://www.toymoban.com/news/detail-756354.html

到了这里,关于4、ffmpeg系列学习——FFmpeg的图像处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB 图像处理 (二值化,image图片黑白处理)

    Q: MATLAB如何将图片进行 二值化 ,并将 二值化后图片 中的 黑色变成白色 , 原本的白色保持不变,黑白之间的黑色轮廓保持不变。 A: 使用 MATLAB 中的 imbinarize 函数 进行图片二值化。将指定阈值以下的像素值设为 0,其他像素值设为 1。 然后可以使用逻辑取反运算符 ~ (波浪线

    2023年04月08日
    浏览(45)
  • OpenCV(图像处理)-图片搜索

    Opencv进行图片搜索需要的知识有:特征点匹配+单应性矩阵知识,特征点匹配作者前面文章有记录。 单应性矩阵:两个不同视角上的点所对应的单应性矩阵可以用同一个射影变换来表述可以简单理解为变换矩阵H,x1 = h*x2 分别计算查询图片和训练图片的特征点和特征点的描述子

    2024年02月13日
    浏览(45)
  • 图像处理:灰度图片线性截断拉伸

           很多时候,灰度图片的灰度级较大,而像素值的分布比较集中,这就导致灰度级的利用率过低,从而导致图片的对比度很小,人眼的感官体验很不好,因此我们通常需要对原始的图像数据进行拉伸调整,增加图片的对比度以适应人眼观察。当前很多红外摄像机拍摄

    2024年02月06日
    浏览(65)
  • 【图像处理】Python判断一张图像是否亮度过低,图片模糊判定

    比如: 直方图: 代码: 这段代码是一个用于判断图像亮度是否过暗的函数is_dark,并对输入的图像进行可视化直方图展示。 首先,通过import语句导入了cv2和matplotlib.pyplot模块,用于图像处理和可视化。 is_dark函数的作用是判断输入图像的平均亮度是否低于设定的阈值。函数接

    2024年02月16日
    浏览(56)
  • 图像处理基础篇-形态学处理-边缘检测(matlab仿真与图像处理系列第4期)

    图像处理方面的老师,第一天学习以下内容和代码: 图像读取和显示:在Matlab中,可以使用imread函数读取图像,并使用imshow函数显示图像。以下是一个简单的示例代码: 图像滤波:滤波是图像处理中常用的一种技术,可以用来去除噪声、平滑图像等。以下是一些常见的滤波

    2024年02月11日
    浏览(47)
  • Python 图像处理:对比两张图片的差异

    在图像处理领域,对比两张图片的差异是一项常见的任务。Python 提供了许多强大的工具和库,使我们能够轻松地实现这一目标。本文将介绍如何使用 Python 对比两张图片,检测和可视化它们之间的差异。 在开始之前,我们首先需要定义图像差异。图像差异可以被理解为两张图

    2024年02月11日
    浏览(40)
  • 图像处理:图片二值化学习,以及代码中如何实现

    目录 1、了解下图片二值化的含义 2、进行图像二值化处理的方法 3、如何选择合适的阈值进行二值化 4、实现图片二值化(代码) (1)是使用C++和OpenCV库实现: (2)纯C++代码实现,不要借助其他库 (3)图片处理的一个实例: 1、了解下图片二值化的含义 (1)图片二值化是

    2024年02月06日
    浏览(49)
  • 图像处理(1):用Python实现彩色图像转为灰度图像的两种方法以及批量将图片转为灰度图

    用Python实现彩色图像转为灰度图像的两种方法介绍 这篇文章给大家主要介绍使用 Python 将彩色图像转为灰度图像的两种方法,以及用 Python 批量将图片转为灰度图的方法,供大家参考: 使用Python中的cv2库,它自带彩色转灰度的方法,并且代码非常简单。 先读取一张彩色图片,然

    2024年02月11日
    浏览(50)
  • 嵌入式算法开发系列之图像处理算法

    在嵌入式系统中,图像处理算法是一项重要的技术,用于实现各种视觉应用,如机器视觉、监控系统和智能设备。本文将探讨图像处理算法的原理、应用以及如何使用 C 语言来实现这些算法。 图像处理算法涉及处理数字图像的各个方面,包括图像增强、滤波、特征提取、目标

    2024年04月16日
    浏览(53)
  • BMP图像处理(jpeg转bmp,以及bmp图片缩放,附代码)

    目录 背景 一、BMP图片讲解: 二、代码: 背景 1、主要记录下BMP图片的功能,里面包括jpeg格式图片转bmp格式的图片,还有bmp图片的缩放,因为bmp格式的图片一般都很大。 2、网上搜的代码,好多的代码都有依赖,有些是依赖libjpeg.dll,有些是boost,有些是opencv,后面废了不少力

    2024年02月04日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包