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

问题描述

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

enter image description here

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

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

生成质量非常好的图像:

enter image description here

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

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

解决方法

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

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

enter image description here

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

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

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