对答案的反馈:emulbreh 和 fraxel
python 版本使用 ImageMagick,所以让我们考虑 ImageMagick。由于不同的颜色通道配置文件,它不适用于如下彩色版本。让我们进一步研究一下。


$ convert -white-threshold 0% bird.png without.png

这张图片显示了原始扫描图片中的噪声量。
谜题:以去掉右上角为例
我颠倒了颜色$ convert -negate whiteVersion.png blackVersion.png
以使其更容易可视化。现在使用下面的黑色照片,我想删除蓝色的右上角,即使其变黑——这意味着我想将 BG 通道设置为 BG 的 0 和 100% 通道值。
$ convert -channel BG -threshold 100% bbird.png without.png


现在唯一剩下的当然是红色通道,我删除了 GB,但白色仍然剩下红色。现在我怎样才能只删除右手角?我需要指定区域,然后执行较早的操作。
我怎样才能让这个与任意照片一起工作,你想删除某些颜色但保留一些颜色完整?
我不知道一个简单的方法。第一个问题是颜色检测问题——你为颜色(R、G、B)指定了一些不等式的条件。如果条件为真,则仅在部分中删除它。现在您对所有基本颜色执行此操作,即 when(R,G,B)=(100%,0,0), (R,G,B)=(0,100%,0)
和(R,G,B)=(0,0,100%)
. 是否存在一些现成的实现?可能,但自己做会更好,拼图!
必备知识