Пример #1
0
def delta_e_cie1994(color1, color2, K_L=1, K_C=1, K_H=1, K_1=0.045, K_2=0.015):
    """
    Calculates the Delta E (CIE1994) of two colors.
    
    K_l:
      0.045 graphic arts
      0.048 textiles
    K_2:
      0.015 graphic arts
      0.014 textiles
    K_L:
      1 default
      2 textiles
    """

    color1_vector = _get_lab_color1_vector(color1)
    color2_matrix = _get_lab_color2_matrix(color2)
    delta_e = color_diff_matrix.delta_e_cie1994(color1_vector,
                                                color2_matrix,
                                                K_L=K_L,
                                                K_C=K_C,
                                                K_H=K_H,
                                                K_1=K_1,
                                                K_2=K_2)[0]
    return numpy.asscalar(delta_e)
Пример #2
0
    def delta_e_matrix(self, lab_color_matrix, mode='cie2000', *args, **kwargs):
        """
        Compares this object with all colors in lab_color_matrix via Delta E.
        The matrix must be of shape (n,3) and must be composed of floats.
        Returns a distance vector of shape (n,).

        Valid modes:
         cie2000
         cie1976
         cie1994
         cmc
        """

        lab_color_vector = np.array([self.lab_l, self.lab_a, self.lab_b])

        mode = mode.lower()

        if mode == 'cie2000':
            return color_diff_matrix.delta_e_cie2000(lab_color_vector, lab_color_matrix)
        elif mode == 'cie1994':
            return color_diff_matrix.delta_e_cie1994(lab_color_vector, lab_color_matrix, **kwargs)
        elif mode == 'cie1976':
            return color_diff_matrix.delta_e_cie1976(lab_color_vector, lab_color_matrix)
        elif mode == 'cmc':
            return color_diff_matrix.delta_e_cmc(lab_color_vector, lab_color_matrix, **kwargs)
        else:
            raise InvalidDeltaEMode(mode)
Пример #3
0
def delta_e_cie1994(color1, color2, K_L=1, K_C=1, K_H=1, K_1=0.045, K_2=0.015):
    """
    Calculates the Delta E (CIE1994) of two colors.

    K_l:
      0.045 graphic arts
      0.048 textiles
    K_2:
      0.015 graphic arts
      0.014 textiles
    K_L:
      1 default
      2 textiles
    """
    color1_vector = _get_lab_color1_vector(color1)
    color2_matrix = _get_lab_color2_matrix(color2)
    delta_e = color_diff_matrix.delta_e_cie1994(
        color1_vector, color2_matrix, K_L=K_L, K_C=K_C, K_H=K_H, K_1=K_1, K_2=K_2)[0]
    return numpy.asscalar(delta_e)