【发布时间】:2021-01-16 13:57:18
【问题描述】:
是否可以从图像中删除特定的 rbg 颜色?例如,我想创建一个函数,将图像和颜色作为参数传递,它返回相同的图像,但没有颜色。
比如这个函数
函数(图像,“R”)
应该给我一个没有 R 色调的图像。我该怎么做?
目前,类似这样的工作:
def exclusionWithPIL(image, channel):
out = None
image = Image.open(image)
image_data = image.load()
height,width = image.size
for loop1 in range(height):
for loop2 in range(width):
r,g,b = image_data[loop1,loop2]
image_data[loop1,loop2] = 0,g,b
return image
result = rgb_exclusion('./image.jpg', "G")
result.save('new.jpg')
但是在这里,我正在函数内部读取像这样的图像Image.open(image)。相反,我想传入image1,它已经像这样读取了:
image1 = load(image1_path)
def load(image_path):
out = io.imread(image_path)
out = out.astype(np.float64) / 255
return out
如何相应地修改函数? P.S 我使用来自 skimage 的 io.imread 来读取图像。
编辑: 如果我将 io.imread 加载的图像直接传递给函数,这样的事情似乎有效:
out = image.copy()
if (channel == "R"):
out[:, :, 0] = 0
但我不太了解索引[:, :, 0]
【问题讨论】:
标签: python machine-learning computer-vision rgb scikit-image