如何从图像中去除颜色

Jus*_*ick 2 python opencv image-processing

我有一张绿色背景的图像,例如:

在此输入图像描述

我的目的是展示一切非绿色的东西

有代码突出显示绿色

import cv2
import numpy as np

low_green = np.array([25, 52, 72])
high_green = np.array([102, 255, 255])

while True:
    img = cv2.imread('someimage.jpg')
    img = cv2.resize(img, (900, 650), interpolation=cv2.INTER_CUBIC)

    # convert BGR to HSV
    imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    # create the Mask
    mask = cv2.inRange(imgHSV, low_green, high_green)

    cv2.imshow("mask", mask)
    cv2.imshow("cam", img)
    cv2.waitKey(10)

Run Code Online (Sandbox Code Playgroud)

和蒙版图像 在此输入图像描述

如何显示蒙版图像上黑色的所有内容?

Jus*_*ick 7

这是代码:

import cv2
import numpy as np

low_green = np.array([25, 52, 72])
high_green = np.array([102, 255, 255])

while True:
    img = cv2.imread('someimage.JPG')
    img = cv2.resize(img, (900, 650), interpolation=cv2.INTER_CUBIC)

    # convert BGR to HSV
    imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    # create the Mask
    mask = cv2.inRange(imgHSV, low_green, high_green)
    # inverse mask
    mask = 255-mask
    res = cv2.bitwise_and(img, img, mask=mask)

    cv2.imshow("mask", mask)
    cv2.imshow("cam", img)
    cv2.imshow('res', res)
    cv2.waitKey(10)
Run Code Online (Sandbox Code Playgroud)

和结果在此输入图像描述