目标
我有数百张与这张类似的图片:
我只想使用绿屏为每个图像创建一个遮罩,看起来像这张图片(边框最好稍微平滑一些):
如果您想进行测试,这是原始图像链接: https://mega.nz/#!0YJnzAJR!GRYI4oNWcsKztHGoK7e4uIv_GvXBjMvyry7cPmyRpRA
我尝试过的方法
我找到了this篇帖子,其中用户使用Imagemagick实现了色度键控。
for i in *; do convert $i -colorspace HSV -separate +channel \
\( -clone 0 -background none -fuzz 3% +transparent grey43 \) \
\( -clone 1 -background none -fuzz 10% -transparent grey100 \) \
-delete 0,1 -alpha extract -compose Multiply -composite \
-negate mask_$i; done;
我感觉很蠢,自己找不到这么简单的问题的解决方案。请注意,我正在使用Linux,所以没有Photoshop或After Effects!但是我相信一定有解决这个问题的方法。
更新1
我刚刚尝试使用this greenscreen script,作者是fmw42,通过运行
./greenscreen infile.jpg outfile.png
,我对结果感到非常满意。但是,每张图像处理需要大约40秒,这意味着处理所有图片需要8小时(虽然我有一台相当强大的工作站,见下面的规格)。也许这与处理过程中出现的那些错误有关?convert-im6.q16: width or height exceeds limit `black' @ error/cache.c/OpenPixelCache/3911.
convert-im6.q16: ImageSequenceRequired `-composite' @ error/mogrify.c/MogrifyImageList/7995.
convert-im6.q16: no images defined `./GREENSCREEN.6799/lut.png' @ error/convert.c/ConvertImageCommand/3258.
convert-im6.q16: unable to open image `./GREENSCREEN.6799/lut.png': No such file or directory @ error/blob.c/OpenBlob/2874.
convert-im6.q16: ImageSequenceRequired `-clut' @ error/mogrify.c/MogrifyImageList/7870.
convert-im6.q16: profile 'icc': 'RGB ': RGB color space not permitted on grayscale PNG `mask.png' @ warning/png.c/MagickPNGWarningHandler/1667.
工作站规格
- 内存: 125.8 GiB
- 处理器: AMD® Ryzen 9 3900x 12核心处理器 × 24
- 显卡: GeForce GTX 970/PCIe/SSE2 (两个)