def rgb_to_hsb(r, g, b, *rest): # see https://en.wikipedia.org/wiki/HSB_color_space. HSB is also known as HSV. r, g, b = _clip1((r, g, b)) m1 = maximum(r, g, b) m0 = minimum(r, g, b) c = m1 - m0 eps = 1e-15 h = _compute_hsb_h(m1, c, eps, r, g, b) h = _wrap_hsb_h(h * (60. / 360.)) s = _compute_hsb_s(m1, c, eps) return (h, s, m1) + rest
def rgb_to_hsb(r, g, b, *rest): # see https://en.wikipedia.org/wiki/HSB_color_space. HSB is also known as HSV. r, g, b = _clip1((r, g, b)) m1 = maximum(r, g, b) m0 = minimum(r, g, b) c = m1 - m0 eps = 1e-15 h = _compute_hsb_h(m1, c, eps, r, g, b) h = _wrap_hsb_h(h * (60. / 360.)) s = _compute_hsb_s(m1, c, eps) return (h, s, m1) + rest
def rgb_to_cmyk(r, g, b, *rest): k_ = maximum(r, g, b) k = 1 - k_ c, m, y = map(lambda t: _scale_rgb_to_cmyk(t, k, k_, 1e-15), (r, g, b)) return (c, m, y, k) + rest
def testMaximum(self): self.assertEqualArrays( maximum([[1, 2], [3, 4]], [[-1, 4], [-8, 5]], [[8, -4], [1, 10]]), [[8, 4], [3, 10]])
def testMaximum(self): self.assertEqualArrays(maximum( [[1, 2], [3, 4]], [[-1, 4], [-8, 5]], [[8, -4], [1, 10]]), [[8, 4], [3, 10]])
def rgb_to_cmyk(r, g, b, *rest): k_ = maximum(r, g, b) k = 1 - k_ c, m, y = map(lambda t: _scale_rgb_to_cmyk(t, k, k_, 1e-15), (r, g, b)) return (c, m, y, k) + rest