我有一张图像,其底部约 20% 的部分填充了白色。但图像上有一些非白色的其他颜色的点。我有 100 多张这样的图像,我想从中移除这些点。
我一直在使用 ImageMagick 命令和 bash 脚本来自动执行多个任务,但我找不到任何命令用纯色从底部填充图像的一定百分比。
答案1
我通过计算高度、取图像高度的百分比(近似值)并填充白色矩形来实现目标。
# A tool to fill up 10% of the bottom of given image
# by white color. Useful to remove unnecessary colors
# at the bottom of image.
# Usage: this_script.sh required_image.jpg
#!/bin/bash
image="$1"
right=$(identify -format %w "$image");
bottom=$(identify -format %h "$image");
top=$(expr $bottom \* 9 / 10 | bc);
left=0
convert "$image" -fill white -draw "rectangle ${left},${top},${right},${bottom}" "$image"
这可以自动针对文件夹中的多个图像执行,例如:
for img in *.jpg; do bash <script.sh> "$img"; done