Как словом вывести цвет из дефаззификации?

При выполнении color_simulator.compute() вылетает ошибкаошибка Как исправить или хотя бы метод какой использовать? Тут надо вывести 1 из 14 оттенок, исходя из входных значений HSV

!pip install networkx
!pip install scikit-fuzzy

import numpy as np
import skfuzzy as fuzz
from skfuzzy import control as ctrl

# переменные для задачи
hue = ctrl.Antecedent(np.arange(0, 360, 1), 'hue')
saturation = ctrl.Antecedent(np.arange(0, 100, 1), 'saturation')
value = ctrl.Antecedent(np.arange(0, 100, 1), 'value')
color = ctrl.Consequent(np.arange(0, 14, 1), 'color')

# 
color.automf(names=['черный', 'белый', 'красно-оранжевый', 'оранжевый', 'желто-оранжевый', 'желтый', 'желто-зеленый', 'зеленый', 'сине-зеленый', 'синий', 'сине-фиолетовый', 'фиолетовый', 'красно-фиолетовый', 'красный'])



hue['красно-оранжевый'] = fuzz.trapmf(hue.universe, [0, 0, 30, 45])
hue['оранжевый'] = fuzz.trapmf(hue.universe, [30, 45, 60, 75])
hue['желто-оранжевый'] = fuzz.trapmf(hue.universe, [60, 75, 90, 105])
hue['желтый'] = fuzz.trapmf(hue.universe, [90, 105, 120, 135])
hue['желто-зеленый'] = fuzz.trapmf(hue.universe, [120, 135, 150, 165])
hue['зеленый'] = fuzz.trapmf(hue.universe, [150, 165, 180, 195])
hue['сине-зеленый'] = fuzz.trapmf(hue.universe, [180, 195, 210, 225])
hue['синий'] = fuzz.trapmf(hue.universe, [210, 225, 240, 255])
hue['сине-фиолетовый'] = fuzz.trapmf(hue.universe, [240, 255, 270, 285])
hue['фиолетовый'] = fuzz.trapmf(hue.universe, [270, 285, 300, 315])
hue['красно-фиолетовый'] = fuzz.trapmf(hue.universe, [300, 315, 330, 345])
hue['красный'] = fuzz.trapmf(hue.universe, [330, 345, 360, 360])

saturation['серый'] = fuzz.trapmf(saturation.universe, [0, 0, 25, 37.5])
saturation['грязный'] = fuzz.trapmf(saturation.universe, [25, 37.5, 50, 62.5])
saturation['приглушенный'] = fuzz.trapmf(saturation.universe, [50, 62.5, 75, 87.5])
saturation['глубокий'] = fuzz.trapmf(saturation.universe, [75, 87.5, 100, 100])

value['черный'] = fuzz.trapmf(value.universe, [0, 0, 25, 37.5])
value['темно'] = fuzz.trapmf(value.universe, [25, 37.5, 50, 62.5])
value['светло'] = fuzz.trapmf(value.universe, [50, 62.5, 75, 87.5])
value['белый'] = fuzz.trapmf(value.universe, [75, 87.5, 100, 100])

# база правил
rule1 = ctrl.Rule(saturation['глубокий'] & value['черный'], color['черный'])
rule2 = ctrl.Rule(saturation['глубокий'] & value['белый'], color['белый'])

rule3 = ctrl.Rule(hue['красный'] & saturation['глубокий'] & value['темно'], color['красный'])
rule4 = ctrl.Rule(hue['красный'] & saturation['грязный'] & value['темно'], color['красный'])
rule5 = ctrl.Rule(hue['красный'] & saturation['грязный'] & value['светло'], color['красный'])
rule7 = ctrl.Rule(hue['красный'] & saturation['глубокий'] & value['светло'], color['красный'])
rule8 = ctrl.Rule(hue['красный'] & saturation['приглушенный'] & value['светло'], color['красный'])
rule9 = ctrl.Rule(hue['красный'] & saturation['приглушенный'] & value['темно'], color['красный'])

rule10 = ctrl.Rule(hue['желтый'] & saturation['глубокий'] & value['темно'], color['желтый'])
rule11 = ctrl.Rule(hue['желтый'] & saturation['грязный'] & value['темно'], color['желтый'])
rule12 = ctrl.Rule(hue['желтый'] & saturation['грязный'] & value['светло'], color['желтый'])
rule14 = ctrl.Rule(hue['желтый'] & saturation['глубокий'] & value['светло'], color['желтый'])
rule15 = ctrl.Rule(hue['желтый'] & saturation['приглушенный'] & value['светло'], color['желтый'])
rule16 = ctrl.Rule(hue['желтый'] & saturation['приглушенный'] & value['темно'], color['желтый'])

rule17 = ctrl.Rule(hue['синий'] & saturation['глубокий'] & value['темно'], color['синий'])
rule18 = ctrl.Rule(hue['синий'] & saturation['грязный'] & value['темно'], color['синий'])
rule19 = ctrl.Rule(hue['синий'] & saturation['грязный'] & value['светло'], color['синий'])
rule21 = ctrl.Rule(hue['синий'] & saturation['глубокий'] & value['светло'], color['синий'])
rule22 = ctrl.Rule(hue['синий'] & saturation['приглушенный'] & value['светло'], color['синий'])
rule23 = ctrl.Rule(hue['синий'] & saturation['приглушенный'] & value['темно'], color['синий'])

rule24 = ctrl.Rule(hue['оранжевый'] & saturation['глубокий'] & value['темно'], color['оранжевый'])
rule25 = ctrl.Rule(hue['оранжевый'] & saturation['грязный'] & value['темно'], color['оранжевый'])
rule26 = ctrl.Rule(hue['оранжевый'] & saturation['грязный'] & value['светло'], color['оранжевый'])
rule28 = ctrl.Rule(hue['оранжевый'] & saturation['глубокий'] & value['светло'], color['оранжевый'])
rule29 = ctrl.Rule(hue['оранжевый'] & saturation['приглушенный'] & value['светло'], color['оранжевый'])
rule30 = ctrl.Rule(hue['оранжевый'] & saturation['приглушенный'] & value['темно'], color['оранжевый'])

rule31 = ctrl.Rule(hue['зеленый'] & saturation['глубокий'] & value['темно'], color['зеленый'])
rule32 = ctrl.Rule(hue['зеленый'] & saturation['грязный'] & value['темно'], color['зеленый'])
rule33 = ctrl.Rule(hue['зеленый'] & saturation['грязный'] & value['светло'], color['зеленый'])
rule35 = ctrl.Rule(hue['зеленый'] & saturation['глубокий'] & value['светло'], color['зеленый'])
rule36 = ctrl.Rule(hue['зеленый'] & saturation['приглушенный'] & value['светло'], color['зеленый'])
rule37 = ctrl.Rule(hue['зеленый'] & saturation['приглушенный'] & value['темно'], color['зеленый'])

rule38 = ctrl.Rule(hue['фиолетовый'] & saturation['глубокий'] & value['темно'], color['фиолетовый'])
rule39 = ctrl.Rule(hue['фиолетовый'] & saturation['грязный'] & value['темно'], color['фиолетовый'])
rule40 = ctrl.Rule(hue['фиолетовый'] & saturation['грязный'] & value['светло'], color['фиолетовый'])
rule42 = ctrl.Rule(hue['фиолетовый'] & saturation['глубокий'] & value['светло'], color['фиолетовый'])
rule43 = ctrl.Rule(hue['фиолетовый'] & saturation['приглушенный'] & value['светло'], color['фиолетовый'])
rule44 = ctrl.Rule(hue['фиолетовый'] & saturation['приглушенный'] & value['темно'], color['фиолетовый'])

rule45 = ctrl.Rule(hue['красно-оранжевый'] & saturation['глубокий'] & value['темно'], color['красно-оранжевый'])
rule46 = ctrl.Rule(hue['красно-оранжевый'] & saturation['грязный'] & value['темно'], color['красно-оранжевый'])
rule47 = ctrl.Rule(hue['красно-оранжевый'] & saturation['грязный'] & value['светло'], color['красно-оранжевый'])
rule49 = ctrl.Rule(hue['красно-оранжевый'] & saturation['глубокий'] & value['светло'], color['красно-оранжевый'])
rule50 = ctrl.Rule(hue['красно-оранжевый'] & saturation['приглушенный'] & value['светло'], color['красно-оранжевый'])
rule51 = ctrl.Rule(hue['красно-оранжевый'] & saturation['приглушенный'] & value['темно'], color['красно-оранжевый'])

rule52 = ctrl.Rule(hue['желто-оранжевый'] & saturation['глубокий'] & value['темно'], color['желто-оранжевый'])
rule53 = ctrl.Rule(hue['желто-оранжевый'] & saturation['грязный'] & value['темно'], color['желто-оранжевый'])
rule54 = ctrl.Rule(hue['желто-оранжевый'] & saturation['грязный'] & value['светло'], color['желто-оранжевый'])
rule56 = ctrl.Rule(hue['желто-оранжевый'] & saturation['глубокий'] & value['светло'], color['желто-оранжевый'])
rule57 = ctrl.Rule(hue['желто-оранжевый'] & saturation['приглушенный'] & value['светло'], color['желто-оранжевый'])
rule58 = ctrl.Rule(hue['желто-оранжевый'] & saturation['приглушенный'] & value['темно'], color['желто-оранжевый'])

rule59 = ctrl.Rule(hue['желто-зеленый'] & saturation['глубокий'] & value['темно'], color['желто-зеленый'])
rule60 = ctrl.Rule(hue['желто-зеленый'] & saturation['грязный'] & value['темно'], color['желто-зеленый'])
rule61 = ctrl.Rule(hue['желто-зеленый'] & saturation['грязный'] & value['светло'], color['желто-зеленый'])
rule63 = ctrl.Rule(hue['желто-зеленый'] & saturation['глубокий'] & value['светло'], color['желто-зеленый'])
rule64 = ctrl.Rule(hue['желто-зеленый'] & saturation['приглушенный'] & value['светло'], color['желто-зеленый'])
rule65 = ctrl.Rule(hue['желто-зеленый'] & saturation['приглушенный'] & value['темно'], color['желто-зеленый'])

rule66 = ctrl.Rule(hue['сине-зеленый'] & saturation['глубокий'] & value['темно'], color['сине-зеленый'])
rule67 = ctrl.Rule(hue['сине-зеленый'] & saturation['грязный'] & value['темно'], color['сине-зеленый'])
rule68 = ctrl.Rule(hue['сине-зеленый'] & saturation['грязный'] & value['светло'], color['сине-зеленый'])
rule70 = ctrl.Rule(hue['сине-зеленый'] & saturation['глубокий'] & value['светло'], color['сине-зеленый'])
rule71 = ctrl.Rule(hue['сине-зеленый'] & saturation['приглушенный'] & value['светло'], color['сине-зеленый'])
rule72 = ctrl.Rule(hue['сине-зеленый'] & saturation['приглушенный'] & value['темно'], color['сине-зеленый'])

rule73 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['глубокий'] & value['темно'], color['сине-фиолетовый'])
rule74 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['грязный'] & value['темно'], color['сине-фиолетовый'])
rule75 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['грязный'] & value['светло'], color['сине-фиолетовый'])
rule77 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['глубокий'] & value['светло'], color['сине-фиолетовый'])
rule78 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['приглушенный'] & value['светло'], color['сине-фиолетовый'])
rule79 = ctrl.Rule(hue['сине-фиолетовый'] & saturation['приглушенный'] & value['темно'], color['сине-фиолетовый'])

rule80 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['глубокий'] & value['темно'], color['красно-фиолетовый'])
rule81 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['грязный'] & value['темно'], color['красно-фиолетовый'])
rule82 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['грязный'] & value['светло'], color['красно-фиолетовый'])
rule84 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['глубокий'] & value['светло'], color['красно-фиолетовый'])
rule85 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['приглушенный'] & value['светло'], color['красно-фиолетовый'])
rule86 = ctrl.Rule(hue['красно-фиолетовый'] & saturation['приглушенный'] & value['темно'], color['красно-фиолетовый'])

color_ctrl = ctrl.ControlSystem([rule1, rule2, rule3, rule4, rule5, rule7, rule8, rule9, rule10,
                                 rule11, rule12, rule14, rule15, rule16, rule17, rule19
                                 , rule21, rule22, rule23, rule24, rule25, rule26
                                 , rule28, rule29, rule30, rule31, rule32, rule33, rule35, rule36
                                 , rule37, rule38, rule39, rule40, rule42, rule43, rule44, rule45
                                 , rule46, rule47, rule49, rule50, rule51, rule52, rule53, rule54
                                 , rule56, rule57, rule58, rule59, rule60, rule61, rule63
                                 , rule64, rule65, rule66, rule67, rule68, rule70, rule71, rule72
                                 , rule73, rule74, rule75, rule77, rule78, rule79, rule80, rule81
                                 , rule82, rule84, rule86, rule85])

color_simulator = ctrl.ControlSystemSimulation(color_ctrl)

color_simulator.input['hue'] = 240
color_simulator.input['saturation'] = 50
color_simulator.input['value'] = 24

color_simulator.compute()
print(color_simulator.output)

hue.view(sim=color_simulator)
saturation.view(sim=color_simulator)
value.view(sim=color_simulator)
color.view(sim=color_simulator)

Ответы (0 шт):