J'ai un tableau numérique de taille 8x8. Voici le tableau numpy:Itération sur un tableau numérique et fonctionnement sur chaque élément
QuantTable = np.array([[16, 11 ,10, 16, 24, 40, 51, 61],
[12, 12, 14, 19, 26, 58, 60, 55],
[14, 13, 16, 24, 40, 57, 69, 56],
[14, 17, 22, 29, 51, 87, 80, 62],
[18, 22, 37, 29, 51, 87, 80, 62],
[24, 35, 55, 64, 81, 109, 103, 77],
[49, 64, 78, 87, 103, 121, 120, 101],
[72, 92, 95, 98, 112, 100, 103, 99]])
Je voudrais effectuer les opérations sur les éléments du tableau. J'ai créé une fonction qui accepte une valeur de facteur d'échelle et un tableau Numpy. Ici, il est:
def quantizationTable(Qval, QuantTable):
if Qval < 50:
scalingFactor = 5000/Qval
for x in range(QuantTable):
for y in range(QuantTable):
QuantTable[x][y] = ((scalingFactor * QuantTable[x][y] + 50/100)
if QuantTable[x][y] == 0:
QuantTable[x][y] = 1
return QuantTable
else:
scalingFactor = 200 - 2(Qval)
for x in range(QuantTable):
for y in range(QuantTable):
QuantTable[x][y] = ((scalingFactor * QuantTable[x][y] + 50/100)
if QuantTable[x][y] == 0:
QuantTable[x][y] = 1
return QuantTable
Je ne parviens pas à itérer sur le tableau numpy et effectuer mes opérations. J'essaye d'appliquer la formule ((facteur de mise à l'échelle valeur * élément de tableau numpy + 50)/100) à chaque élément du tableau numpy et retourne le tableau modifié. Quelqu'un peut-il aider s'il vous plaît?
'J'ai des problèmes pour parcourir le tableau numérique et effectuer mes opérations.» - Élaborer? – Divakar
Pourquoi les boucles? 'return scalingFactor * QuantTable + 50/100' – Feodoran
Parce que j'ai besoin d'effectuer l'opération sur chaque élément. Corrigez-moi si je me trompe dans ma logique même. Merci. – TheTank