gpt4 book ai didi

python - 将图像中的所有其他颜色更改为黑色,除了 Python OpenCV/Numpy 中指定的一种颜色

转载 作者:行者123 更新时间:2023-12-02 16:06:51 25 4
gpt4 key购买 nike

我基本上有一个语义分割蒙版,我想将图像中除一种颜色(道路 - 紫色)之外的所有颜色更改为黑色。

如何在 numpy 或 opencv 中执行此操作?

enter image description here

更新图像 This image has tiny corrupted pixels on it将代码更改为

import cv2

img = cv2.imread("image.png", cv2.COLOR_RGB2BGR)

colors = [
(100, 100, 150),
(32, 11, 119),
(70, 70, 70),
(100, 60, 0),
(142, 0, 0),
(255, 255, 255)
]

# colors = np.array(colors)
# all other colors
mask = np.zeros(img.shape[:2], dtype=bool)

for color in colors:
mask |= (img == color).all(-1)

img[mask] = (255,255,255)

结果是下面的图像,但仍然有相同的轻微损坏(或添加了我想删除的颜色(只看第一行像素)) enter image description here

最佳答案

你可以试试:

# special color
colors = [ (100, 100, 150), (32, 11, 119), (70, 70, 70), (100, 60, 0), (255, 255, 255) ]


# all other colors
mask = np.zeros(img.shape[:2], dtype=bool)

for color in colors:
mask |= (img == color).all(-1)

img[~mask] = (255,255,255)

输出(由 plt.imshow 显示):

enter image description here

关于python - 将图像中的所有其他颜色更改为黑色,除了 Python OpenCV/Numpy 中指定的一种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62269937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com