Ciao a tutti, sto sperimentando con Python e OpenCV per elaborare immagini, ma ho un problema fastidioso. Ho scritto un script che dovrebbe applicare un filtro semplice, ma mi blocca su un errore 'Index out of range'. Ecco il codice incriminato:
import cv2
import numpy as np
img = cv2.imread('prova.jpg')
if img is not None:
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i][j] = [255 - img[i][j][0], 255 - img[i][j][1], 255 - img[i][j][2]] # Inversione colori
cv2.imwrite('output.jpg', img)
Altrimenti, l'errore salta fuori durante il loop. Ho controllato se l'immagine si carica, ma non capisco dove sbaglio. Qualcuno ha idee per debuggare o suggerimenti su come gestire meglio le matrici? Magari sto sottovalutando qualcosa di base. Voi che ne pensate? Grazie per qualsiasi aiuto!
import cv2
import numpy as np
img = cv2.imread('prova.jpg')
if img is not None:
for i in range(img.shape[0]):
for j in range(img.shape[1]):
img[i][j] = [255 - img[i][j][0], 255 - img[i][j][1], 255 - img[i][j][2]] # Inversione colori
cv2.imwrite('output.jpg', img)
Altrimenti, l'errore salta fuori durante il loop. Ho controllato se l'immagine si carica, ma non capisco dove sbaglio. Qualcuno ha idee per debuggare o suggerimenti su come gestire meglio le matrici? Magari sto sottovalutando qualcosa di base. Voi che ne pensate? Grazie per qualsiasi aiuto!