【发布时间】:2020-12-30 11:31:47
【问题描述】:
我可以使用 ImageMagick 使用以下命令来制作它,首先使所需颜色透明,最后用“否定”将其余颜色转换为黑色。
convert input.png \
-transparent '#4B8DF8' \
-transparent '#27A9E3' \
-transparent '#2295C9' \
-transparent '#E7191B' \
-transparent '#C91112' \
-transparent '#28B779' \
-transparent '#17A769' \
-transparent '#852B99' \
-transparent '#751E88' \
-transparent '#D84A38' \
-transparent '#B4CEF8' \
-transparent '#17A76A' \
-transparent '#CA1112' \
-transparent '#2296CA' \
-transparent '#DDE8FA' \
-alpha extract -negate out_convert.png
我目前拥有的 Python/Wand 脚本是这样的:
from wand.image import Image
with Image(filename='input.png') as img:
img.transparent_color('#4B8DF8', alpha=0.0)
img.transparent_color('#27A9E3', alpha=0.0)
img.transparent_color('#2295C9', alpha=0.0)
img.transparent_color('#E7191B', alpha=0.0)
img.transparent_color('#C91112', alpha=0.0)
img.transparent_color('#28B779', alpha=0.0)
img.transparent_color('#17A769', alpha=0.0)
img.transparent_color('#852B99', alpha=0.0)
img.transparent_color('#751E88', alpha=0.0)
img.transparent_color('#D84A38', alpha=0.0)
img.transparent_color('#B4CEF8', alpha=0.0)
img.transparent_color('#17A76A', alpha=0.0)
img.transparent_color('#CA1112', alpha=0.0)
img.transparent_color('#2296CA', alpha=0.0)
img.transparent_color('#DDE8FA', alpha=0.0)
img.negate()
img.save(filename='out_python.png')
下面我展示了我使用convert 命令得到的输出(只有黑色和白色)以及使用python/wand 脚本得到的输出(除了黑色和白色之外,它还有一些其他颜色)。
为了获得与 ImageMagick 相同的输出,我的脚本中缺少什么? Wand 是一个很好的 Python 库还是可以用另一个库来完成?
【问题讨论】:
标签: python python-3.x image-processing imagemagick wand