如何将图像的所有非白色部分转换为黑色?

Sim*_*imd 8 linux png

我有以下 png图片

在此输入图像描述

我想将非黑色的边缘转换为黑色。我努力了

convert <input> -threshold 80% <output>
Run Code Online (Sandbox Code Playgroud)

但这给出了

在此输入图像描述

这改变了图表的外观。

除了颜色之外,如何在不改变图形外观的方式的情况下做到这一点?

Tet*_*jin 16

部分问题在于,您不仅必须为红色找到良好的交叉值,还必须为黄色和蓝色找到良好的交叉值,因为“黑色”文本的颜色抗锯齿效果非常糟糕。

在此输入图像描述

如果您应用简单的阈值过滤器,那么其中的黄色和蓝色会影响明显黑色字体以及红色的变化。
这就是导致字体粗细和红线看起来错误的原因。

在此输入图像描述

在 Photoshop 之类的东西中(也可能是 Gimp,它确实在 nix 上运行),您可以简化此操作以提供更平滑的结果。

在此输入图像描述

这就是尝试平衡它需要多少操纵

在此输入图像描述

这仍然是猜测,并不完全完美,但以原始尺寸给出

调整

字体和线宽至少现在看起来有点相似。多一点耐心和反复试验,您可能会更接近。

  • 这些色彩缤纷的抗锯齿伪像可能是由 [ClearType](https://learn.microsoft.com/en-us/typography/cleartype/) 引起的,这是 Windows 上大多数程序使用的 Microsoft 子像素文本渲染系统。它考虑到数字屏幕上的每个像素实际上是彼此相邻的 3 个像素(红色、绿色和蓝色),从而使字体更具可读性。黑色字体的最左边的像素呈现黄色,因为它们只关闭最右边的子像素(蓝色)。右侧的子像素呈现蓝色,因为它们仅关闭左侧的子像素(红色和绿色)。 (11认同)
  • 这并不“可怕”,它实际上是一个非常聪明的系统。从个人使用 Windows 的经验来看,我可以证明它在实践中确实非常有效。这些颜色在屏幕上完全不可见。黑色字体看起来完全是黑色,尽管实际上并非如此。颜色变得可见的唯一情况是当您截取屏幕截图并将其放大时。这是一个相当小众的用例。 (10认同)
  • @Tetsujin Mac 也做同样的事情。 “奇怪”不是来自子像素渲染,而是来自使用不同的抗锯齿设置。使用开箱即用设置的电脑通常会对文本进行抗锯齿处理以提高清晰度,从而使那些在对比度感知方面遇到困难的人更容易阅读。 Mac 默认的平滑度使文本“更漂亮”,但在较低的背景对比度下更难以阅读。但是,如果您转到“个性化”&gt;“字体”&gt;“调整 ClearType”,您可以调整设置,使其看起来与 Mac 的默认设置没有区别。 (2认同)