问题描述
如何将灰度图像转换为具有可定义阈值的1位黑/白,但保持现有的透明度/ alpha?
现有问题错过了我问题的透明度。
此外,我需要在macOS的命令行上执行此操作。 ImageMagick的convert
是一个选择,但不是唯一选择。
样本图片:
必需的行为:
- 可定义阈值以下的像素被涂成黑色
- 超出可定义阈值的像素被涂成白色
- 透明像素保持不变
我手动准备了这个“目标”图像:
我尝试过的事情:
-
$ convert -threshold 50% in.png out.png
- 所有超过阈值的地方都会变成白色
- 所有低于阈值的东西都变得透明!
-
$ convert -white-threshold 50% in.png out.png
- 所有超过阈值的地方都会变成白色
- 所有低于阈值的东西都变得透明!
-
$ convert -black-threshold 50% in.png out.png
- 所有阈值不同的东西都会变成白色
- 什么都不会变黑!
-
$ convert +dither -monochrome in.png out.png
- 禁用抖动
- 1位转换被锁定为50%,但按预期执行
- 但是:透明像素变成黑色!
-
$ convert -depth 1 -colors 3 -alpha set in.png out.png
- 几乎在那里
- 但是:阈值无法定义!
任何想法都感激!
图片参考:http://www.studentshow.com/gallery/6097929/Pyramid-Module-Value-Grayscale