]>
Commit | Line | Data |
---|---|---|
633c9ad0 | 1 | import cv2 |
2 | import numpy as np | |
3 | ||
4 | def GetColorMask(img, sliders): | |
5 | saturationMin = sliders.getMaskSettings().saturationMin | |
6 | ||
fc9f5cd5 MR |
7 | lowerBound = np.array([0, saturationMin, 1]) |
8 | upperBound = np.array([20, 255, 255]) | |
633c9ad0 | 9 | |
10 | hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) | |
11 | return cv2.inRange(hsv, lowerBound, upperBound) | |
12 | ||
13 | def ProcessImageMask(mask, ogImg, sliders): | |
14 | _open, _close, _erode, _dilate, _saturationMin = sliders.getMaskSettings().getSettingsTuple() | |
15 | ||
16 | maskImg = cv2.morphologyEx(mask, cv2.MORPH_OPEN, np.ones((_open, _open)), iterations = 1) | |
17 | maskImg = cv2.morphologyEx(maskImg, cv2.MORPH_CLOSE, np.ones((_close, _close)), iterations= 2) | |
18 | maskImg = cv2.erode(maskImg, np.ones((_erode, _erode)), iterations = 1) | |
19 | maskImg = cv2.dilate(maskImg, np.ones((_dilate, _dilate)), iterations = 1) | |
20 | ||
21 | maskImg = cv2.bitwise_and(ogImg, ogImg, mask = maskImg) | |
22 | maskImg = 255 - maskImg | |
23 | return maskImg |