Code
opencv
import cv2
img = cv2.imread("input.jpg")
# BGR <-> RGB (for matplotlib)
rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# BGR -> grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# BGR -> HSV (good for color segmentation)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# Threshold a color range in HSV
lower = (35, 50, 50)
upper = (85, 255, 255)
mask = cv2.inRange(hsv, lower, upper)
green_only = cv2.bitwise_and(img, img, mask=mask)
# Lab for perceptual comparisons
lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
cv2.imwrite("mask.jpg", mask)