小编han*_*olo的帖子

使用Python/PIL从图像中删除背景颜色

我一直试图让这个工作,我真的遇到麻烦,所以非常感谢一些帮助.

使用下面的代码,我想将具有指定RGB值的功能更改为白色,并将图像中的所有其他功能更改为黑色(即基本上从图像中提取功能.不幸的是,尽管我可以制作我想要的功能'提取'很好,当我尝试删除背景颜色时(我一直试图使用

mask2 = ((red != r1) & (green != g1) & (blue != b1))
data[:,:,:4][mask2] = [rb, gb, bb, ab]
Run Code Online (Sandbox Code Playgroud)

但这似乎选择了除红色== r1或绿色== g1等之外的任何像素,留给我一个相当'嘈杂'的背景图像.)有没有人知道用字面提取具有指定RGB值的像素的方法,或更好的方式来重新着色背景像素?

谢谢

import numpy as np
from PIL import Image

im = Image.open('/home/me/nh09sw.tif')
im = im.convert('RGBA')
data = np.array(im)

r1, g1, b1 = 246, 213, 139 # Original value
rw, gw, bw, aw = 255, 255, 255, 255 # Value that we want to replace features with
rb, gb, bb, ab = 0, 0, 0, 255 #value …
Run Code Online (Sandbox Code Playgroud)

python image python-imaging-library python-2.7

6
推荐指数
1
解决办法
1万
查看次数