Itérations à travers des pixels dans une image terriblement lent avec python (OpenCV)

Je suis conscient de l'itération sur les pixels et d'accéder à leurs valeurs, à l'aide d'OpenCV avec C++. Maintenant, je suis en train d'apprendre le langage python moi-même et j'ai essayé de faire la même chose en python. Mais lorsque j'exécute le code suivant, il prend beaucoup de temps (environ 7 à 10 secondes) pour afficher l'image. Et le script continue à tourner pendant quelques secondes de plus, même après l'affichage de l'image.

J'ai trouvé une question similaire ici, DONC mais je ne suis pas en mesure de comprendre comment dois-je utiliser numpy dans mon cas (parce que je suis un débutant en python), et si oui ou non il est vraiment nécessaire?

Explication du Code: je suis juste essayer de mettre les pixels noirs sur les côtés gauche et droit de l'image.

import numpy as np
import cv2 as cv

#reading an image
img = cv.imread('image.jpg')
height, width, depth = img.shape

for i in range(0, height):
    for j in range(0, (width/4)):
        img[i,j] = [0,0,0]  

for i in range(0, height):
    for j in range(3*(width/4), width):
        img[i,j] = [0,0,0]        

cv.imshow('image',img)

cv.waitKey(0)

OriginalL'auteur skm | 2014-10-18