尝试使用 alphamerge 在 ffmpeg 中裁剪图像但产生错误的 alpha
Trying to crop an image in ffmpeg using alphamerge but produces wrong alpha
我正在使用 alphamerge 来裁剪圆圈内的图像。
我目前拥有的是:
ffmpeg -f lavfi -i "color=c=white:size=240x240" -i avatar.png -i mask.png -filter_complex \
"[1][2]alphamerge[img]; \
[0][img]overlay[out]" -c:v png -map "[out]" -pix_fmt rgba -t 5 -y out.mp4 2>&1
其中 avatar.png 和 mask.png 分别为:
这会产生以下输出(输出视频的 1 帧):
这是出乎意料的,因为原始输入比这暗得多。
如何使用 'mask.png' 裁剪 'avatar.png' 以便输出 avatar.png 裁剪成圆形并保持相同的 alpha?
PS:对我来说重要的一点是能够裁剪原始图像并保持原始图像的正确 colors/apha。如果有其他方法(除了 alphamerge),我很高兴听到它。
想通了。
ffmpeg -i avatar.png -i mask.png -filter_complex "[0]scale=400:400[ava];[1]alphaextract[alfa];[ava][alfa]alphamerge" output.png
我正在使用 alphamerge 来裁剪圆圈内的图像。
我目前拥有的是:
ffmpeg -f lavfi -i "color=c=white:size=240x240" -i avatar.png -i mask.png -filter_complex \
"[1][2]alphamerge[img]; \
[0][img]overlay[out]" -c:v png -map "[out]" -pix_fmt rgba -t 5 -y out.mp4 2>&1
其中 avatar.png 和 mask.png 分别为:
这会产生以下输出(输出视频的 1 帧):
这是出乎意料的,因为原始输入比这暗得多。
如何使用 'mask.png' 裁剪 'avatar.png' 以便输出 avatar.png 裁剪成圆形并保持相同的 alpha?
PS:对我来说重要的一点是能够裁剪原始图像并保持原始图像的正确 colors/apha。如果有其他方法(除了 alphamerge),我很高兴听到它。
想通了。
ffmpeg -i avatar.png -i mask.png -filter_complex "[0]scale=400:400[ava];[1]alphaextract[alfa];[ava][alfa]alphamerge" output.png