R ImageMagick。如何用单一颜色填充图像的子集

R ImageMagick. How to fill subset of image a single color

我正在尝试拍摄图像,并根据以前的数据制作一个小正方形(例如左上角 100,100,宽度和高度为 50x50)全白,图像的其余部分为黑色。

函数image_fill只取一个点,所以它不做我要找的。 亮度级别为 0 或 100 且饱和度级别为 0 的函数 image_modulate 可以工作,但它似乎将滤镜应用于整个图像。

看来修改图像并不是完全必要的。我可以创建一个单独的图像,它是全黑的,在适当的位置有一个白色方块。

查看附图为例我想把我的一张普通照片变成。

请注意,由于我的原始图像中有错误的 alpha 值,包 "imager" 不起作用,我必须使用 ImageMagick (R)。

抱歉,我不知道 Rmagick,但在 ImageMagick 命令行中,您可以按如下方式执行此操作。用黑色填充图像。然后在需要的地方画一个白色方块。

输入:

convert lena.png -fill black -colorize 100 -fill white -draw "rectangle 100,100 150,150" -alpha off result.png


结果:

上面绘制了偏移量为 100,100 且 width=height=50 的白色矩形。

或者,您可以用黑色填充图像,然后创建一个 50x50 的新白色图像,并以 100,100 的比例将其合成到黑色图像上。

convert lena.png -fill black -colorize 100 -size 50x50 xc:white -gravity northwest -geometry +100+100 -compose over -composite result2.png


结果 2: