Изображение:

Вот код :
# Imports:
import numpy as np
import cv2
import matplotlib.pyplot as plt
# Set image path
imagePath = "image.jpg"
# Load image:
inputImage = cv2.imread(imagePath)
# Deep copy of the input:
inputImageCopy = inputImage.copy()
# Resize because the original image is HUGE:
(h, w) = inputImage.shape[:2]
resizePercent = 10
resizedWidth = int(w * resizePercent / 100)
resizedHeight = int(h * resizePercent / 100)
# Resize image
inputImage = cv2.resize(inputImage, (resizedWidth, resizedHeight), interpolation=cv2.INTER_LINEAR)
# Get binary image:
grayImage = cv2.cvtColor(inputImage, cv2.COLOR_BGR2HSV)
lowerValues = np.array([0, 0, 40])
upperValues = np.array([179, 255, 255])
# Create HSV mask:
hsvImage = cv2.cvtColor(inputImage.copy(), cv2.COLOR_BGR2HSV)
tempMask = cv2.inRange(hsvImage, lowerValues, upperValues)
# Apply some morphology:
kernelSize = (3, 3)
morphoKernel = cv2.getStructuringElement(cv2.MORPH_RECT, kernelSize)
tempMask = cv2.morphologyEx(tempMask, cv2.MORPH_CLOSE, morphoKernel, iterations=1)
plt.imshow(tempMask, cmap='gray')
Подробнее здесь: https://stackoverflow.com/questions/790 ... f-an-image