我正在尝试仅识别图像中的绿色。这意味着,除了图像中的绿色(附加了示例图像)外,其余的部分都应被涂黑。
这是原始图像:
original image of a Rose with green leaves
这是预期的输出: Highlighted green in the image
我使用以下代码使用HSV阈值提取了绿色:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread("rose.jpg")
mask = cv2.inRange(hsv, (40, 0, 0), (80, 255,255))
imask = mask>0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]
plt.imshow(green)
plt.show()
但是我想知道,如何在不使用这些阈值的情况下完全相同地执行此操作。除了阈值,还有其他方法吗?
如果有人可以帮助我,这将很有帮助。
期待您的投入。非常感谢大家。