Comment éditer / lire les valeurs de pixel dans OpenCv à partir de la variable Mat?

Je suis à la recherche d'un moyen efficace pour le montage et la lecture des pixels à partir de Tapis (ou Mat3b) de la variable.

J'ai utilisé :-

Image.at<Vec3b>(i,j)

mais il semble être très lent.

J'ai aussi utilisé ce:-

A.data[A.channels()*A.cols*i + j + 0]

mais le problème je suis face à ce est quand je lance cette boucle

for(i=0; j<A.rows; i++){
   for(j=0; j<A.cols; j++){
           A.data[A.channels()*A.cols*i + j + 0] = 0;
           A.data[A.channels()*A.cols*i + j + 1] = 0;
           A.data[A.channels()*A.cols*i + j + 2] = 0;
    }
} 

seulement une partie de l'image est noirci.

source d'informationauteur Ravi Upadhyay