Sto cercando un modo efficiente per modificare/leggere i pixel dalla variabile Mat (o Mat3b).Come modificare/leggere i valori dei pixel in OpenCv dalla variabile Mat?
ho usato: -
Image.at<Vec3b>(i,j)
ma sembra essere molto lento.
Ho usato anche questo: -
A.data[A.channels()*A.cols*i + j + 0]
ma il problema che sto affrontando con questo è quando ho eseguito questo ciclo
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;
}
}
solo una parte dell'immagine è annerito.
Ci sono il modo più veloce per accedere agli elementi Mat, come la risposta accettata giustamente, ma esegue il programma in modalità di uscita sarà di accelerare molto il tappetino .at() accessi. Saranno leggermente più lenti dell'accesso puntatore –
Sam