使用 ImageMagick 为扫描图像的背景重新着色

Re-color a background of a scanned image with ImageMagic

我有一张扫描出来的图像,我想在多个不同颜色的背景上以几种不同的颜色重现它,如下图所示:

我可以通过级别颜色转换轻松更改错误的颜色,如:

convert image.png +level-colors red, red-image.png

并生成质量非常好的图像:

我了解到(从这里的许多帖子中)在扫描中使背景颜色透明是对图像最困难的操作之一。我的问题是:

有没有办法以类似的方式按级别更改背景颜色?

ImageMagick 中,您可以使用 -fill ... -opaque 重新着色背景。测量背景颜色,然后

convert insect.png -fuzz 5% -fill skyblue -opaque "rgb(235,215,186)" insect_blue.png

-fuzz X% 允许接近但不完全是测量颜色的着色。这允许更改不均匀的背景颜色。 X% 越大,图像的部分颜色就越多。

0% 表示仅对测量的准确值进行着色。

https://legacy.imagemagick.org/Usage/color_basics/#opaque