Esempio n. 1
0
def hsv(rgb):
    hsv = clr.rgb2hsv(rgb)
    hsv_c = clr.rgb2hsv(np.clip(rgb, 0.0, 1.0))

    hsv_r = np.concatenate([x[..., np.newaxis] for x in [
        hsv_c[:, :, 0], hsv_c[:, :, 1], hsv[:, :, 2]]], axis=-1)

    rgb = clr.hsv2rgb(hsv_r)

    return rgb
Esempio n. 2
0
def hs_histogram(img, mask, bins=10, normed=False):
    hsv = color.rgb2hsv(img)
    
    maskedH = ma.array(hsv[:,:,0], mask=mask)
    maskedS = ma.array(hsv[:,:,1], mask=mask)
    histH, bin_edges_h = np.histogram(maskedH.compressed(), bins=bins, range=None, normed=normed)
    histS, bin_edges_s = np.histogram(maskedS.compressed(), bins=bins, range=None, normed=normed)
    
    return histH, histS
Esempio n. 3
0
	def __call__(self, img):
		hsv = color.rgb2hsv(img)
		hsv[:,:,2] = exposure.equalize_hist(hsv[:,:,2])
		img = color.hsv2rgb(hsv)

		min_side = min(img.shape[:-1])
		centre = img.shape[0] // 2, img.shape[1] // 2
		img = img[centre[0] - min_side // 2:centre[0] + min_side // 2,
			centre[1] - min_side // 2:centre[1] + min_side // 2,
			:]

		img = transform.resize(img, (self.img_size, self.img_size))
		img = np.rollaxis(img, -1)

		return img
Esempio n. 4
0
def cv_hs_histogram_(img, mask):
    hsv = color.rgb2hsv(img)

    h_bins = 30
    s_bins = 32
    hist_size = [h_bins, s_bins]
    # hue varies from 0 (~0 deg red) to 180 (~360 deg red again */
    h_ranges = [0, 180]
    # saturation varies from 0 (black-gray-white) to
    # 255 (pure spectrum color)
    s_ranges = [0, 255]
    ranges = [h_ranges, s_ranges]
    hist = cv2.calcHist(hsv, [0, 1], mask, hist_size, ranges)
    
    return hist
Esempio n. 5
0
def hs_histogram(img, mask, bins=10, normed=False):
    hsv = color.rgb2hsv(img)

    maskedH = ma.array(hsv[:, :, 0], mask=mask)
    maskedS = ma.array(hsv[:, :, 1], mask=mask)
    histH, bin_edges_h = np.histogram(maskedH.compressed(),
                                      bins=bins,
                                      range=None,
                                      normed=normed)
    histS, bin_edges_s = np.histogram(maskedS.compressed(),
                                      bins=bins,
                                      range=None,
                                      normed=normed)

    return histH, histS
Esempio n. 6
0
def cv_hs_histogram_(img, mask):
    hsv = color.rgb2hsv(img)

    h_bins = 30
    s_bins = 32
    hist_size = [h_bins, s_bins]
    # hue varies from 0 (~0 deg red) to 180 (~360 deg red again */
    h_ranges = [0, 180]
    # saturation varies from 0 (black-gray-white) to
    # 255 (pure spectrum color)
    s_ranges = [0, 255]
    ranges = [h_ranges, s_ranges]
    hist = cv2.calcHist(hsv, [0, 1], mask, hist_size, ranges)

    return hist
Esempio n. 7
0
def label_colormap(n_label=256, value=None):
    """Label colormap.

    Parameters
    ----------
    n_labels: int
        Number of labels (default: 256).
    value: float or int
        Value scale or value of label color in HSV space.

    Returns
    -------
    cmap: numpy.ndarray, (N, 3), numpy.uint8
        Label id to colormap.

    """
    def bitget(byteval, idx):
        return (byteval & (1 << idx)) != 0

    cmap = np.zeros((n_label, 3), dtype=np.uint8)
    # for i in range(0, n_label):
    #     id = i
    #     r, g, b = 0, 0, 0
    #     for j in range(0, 8):
    #         r = np.bitwise_or(r, (bitget(id, 0) << 7 - j))
    #         g = np.bitwise_or(g, (bitget(id, 1) << 7 - j))
    #         b = np.bitwise_or(b, (bitget(id, 2) << 7 - j))
    #         id = id >> 3
    #     cmap[i, 0] = r
    #     cmap[i, 1] = g
    #     cmap[i, 2] = b

    #  自己加的colormap   通道顺序为rbg
    cmap[1, :] = [255, 0, 0]  # rope
    # cmap[2, :] = [0, 255, 0]  # cart
    # cmap[3, :] = [0, 0, 255]  # protected
    # cmap[4, :] = [255, 255, 0]  # hook
    # cmap[5, :] = [255, 0, 255]  # umbrella

    if value is not None:
        hsv = color_module.rgb2hsv(cmap.reshape(1, -1, 3))
        if isinstance(value, float):
            hsv[:, 1:, 2] = hsv[:, 1:, 2].astype(float) * value
        else:
            assert isinstance(value, int)
            hsv[:, 1:, 2] = value
        cmap = color_module.hsv2rgb(hsv).reshape(-1, 3)
    return cmap