bonjour, bonsoir
j'aimerais aider une amie pour un code Python pour webots,
ps je n'y connais rien en Python
la partie du code suivante me sort des erreurs et j'aimerais savoir comment et où les réparer merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# --------------------------------------------------------
 
    ## Début traitement du but (trouver la balle)
        #if balleDetecte:
        #    if indice_max>29:
         #       #tourner à droite
          #      leftSpeed += 0.25 * MAX_SPEED
           #     rightSpeed -= 0.25 * MAX_SPEED
            #elif indice_max<29:
             #   #tourner à gauche
              #  leftSpeed -= 0.25 * MAX_SPEED
               # rightSpeed += 0.25 * MAX_SPEED
            #else:
             #   leftSpeed -= 0.5* MAX_SPEED
              #  rightSpeed += 0.5 * MAX_SPEED
 
 
 
    # write actuators inputs
 
 
    leftMotor.setVelocity(leftSpeed)
    rightMotor.setVelocity(rightSpeed)
 
    image=camera.getImageArray()
 
    largeurImage = int(camera.getWidth())
    hauteurImage = int(camera.getHeight())
 
    #width = camera.getWidth()
    #height=camera.getHeight()
 
    #hist=[0]*width
 
 
 
    red = np.zeros((largeurImage,hauteurImage))
    green = np.zeros((largeurImage,hauteurImage))
    blue = np.zeros((largeurImage,hauteurImage))
 
    for x in range(largeurImage):
        for y in range(hauteurImage):
            red[x][y] = image[x][y][0]
            green[x][y] = image[x][y][1]
            blue[x][y] = image[x][y][2]
            #if (red[x][y])<60 and (green[x][y])>60 and (blue[x][y])<60:
            #    hist[x]=hist[x]+1 ##### ajout
            if x==25 and y==15:
                print("red = ", red[x][y])
                print("green = ", green[x][y])
                print("blue = ", blue[x][y])
                print("----------------------------------")
 
 
#plt.hist[x]                   
#pixelVerts = 0
    histogrammePixelVert = np.zeros(largeurImage)
 
 
    for k in range (largeurImage):
        pixelVerts=0
        for y in range(hauteurImage):
            l=np.sqrt(red[k][y]*red[k][y]+green[k][y]*green[k][y]+blue[k][y]*blue[k][y])
            teta = np.arccos(blue[k][y]/l)
            phi = np.arctan(green[k][y]/red[k][y])
            if k==25 and y==15:
                print("l = ", l)
                print("teta = ", teta)
                print("phie = ", phi)
                #if red<60 and green>60 and blue<60:
                #    hist[x]=hist[x]+1
                if ((phi>1.0) and (teta>1.0)):
                    pixelVerts +=1
                    print("balle verte droit devant")
 
    #print("histooooooooooooooo", hist[x].max)                
    histogrammePixelVert[k] = pixelVerts
    leftMotor.setVelocity(leftSpeed)
    rightMotor.setVelocity(rightSpeed)    
 
    if max(hist)>0:
        balleDetecte=True
        indice_max = 0
        maxi = 0
 
        for i in range(len(hist)):
            if hist[i] >= maxi:
                maxi = hist[i]
                indice_max = i
                print(indice_max)
            else:
                balleDetecte=False
 
        for j in range (largeurImage):
            if hist[j]>7 and hist[j]<28:
                leftSpeed = 0.2 * MAX_SPEED
                rightSpeed = 0.2 * MAX_SPEED
            elif hist[45]>7 or hist[50]>7:#rotation droite
                leftSpeed = 0.5 * MAX_SPEED
                rightSpeed = -0.2 * MAX_SPEED
            elif hist[10]>7 or hist[5]>7:#rotation gauche
                leftSpeed = -0.2 * MAX_SPEED
                rightSpeed = 0.5 * MAX_SPEED
 
            if hist[25]>=20:
                leftSpeed = 0 #arret de la roue gauche
                rightSpeed = 0 #arret de la roue droite
                leds[0].set(1) #allume les 10 LEDS
                leds[1].set(1)
                leds[2].set(1)
                leds[3].set(1)
                leds[4].set(1)
                leds[5].set(1)
                leds[6].set(1)
                leds[7].set(1)
                leds[8].set(1)
                leds[9].set(1)
 
 
 
 
 
 
    pass
 
 
#Enter here exit cleanup code.