我们从Python开源项目中,提取了以下8个代码示例,用于说明如何使用cv2.COLOR_BGR2HLS。
def test_detect(): dev = AndroidDeviceMinicap() dev._adb.start_minitouch() time.sleep(3) d = SceneDetector('txxscene') old, new = None, None while True: # time.sleep(0.3) screen = dev.screenshot_cv2() h, w = screen.shape[:2] img = cv2.resize(screen, (w/2, h/2)) # find hsv hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS) _, _, V = cv2.split(hsv) V[V<150] = 0 cv2.imshow('V', V) _, _, L = cv2.split(hls) L[L<150] = 0 cv2.imshow('H', L) tic = time.clock() new = str(d.detect(img)) t = time.clock() - tic if new != old: print 'change to', new print 'cost time', t old = new for _, r in d.current_scene: x, y, x1, y1 = r cv2.rectangle(img, (x,y), (x1,y1), (0,255,0) ,2) cv2.imshow('test', img) cv2.waitKey(1)
def __hsl_threshold(input, hue, sat, lum): """Segment an image based on hue, saturation, and luminance ranges. Args: input: A BGR numpy.ndarray. hue: A list of two numbers the are the min and max hue. sat: A list of two numbers the are the min and max saturation. lum: A list of two numbers the are the min and max luminance. Returns: A black and white numpy.ndarray. """ out = cv2.cvtColor(input, cv2.COLOR_BGR2HLS) return cv2.inRange(out, (hue[0], lum[0], sat[0]), (hue[1], lum[1], sat[1]))
def hls(img, op=None): return cv.cvtColor(img, cv.COLOR_BGR2HLS)
def hsl_threshold(image, hue=(0, 122), sat=(126, 225), lum=(83, 255)): # HSL threshold to highlight just the tape ([hue, sat, lum]). hls_min = np.array([hue[0], sat[0], lum[0]]) hls_max = np.array([hue[1], sat[1], lum[1]]) image = cv2.cvtColor(image, cv2.COLOR_BGR2HLS) image = cv2.inRange(image, hls_min, hls_max) return image