Estoy buscando una forma eficiente de editar/leer píxeles desde la variable Mat (o Mat3b).¿Cómo se editan/leen los valores de píxel en OpenCv desde la variable Mat?
he utilizado: -
Image.at<Vec3b>(i,j)
pero parece ser muy lenta.
También utilicé la siguiente: -
A.data[A.channels()*A.cols*i + j + 0]
pero el problema que estoy enfrentando con esto es cuando corro este bucle
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;
}
}
solamente se ennegrece una parte de la imagen.
hay manera más rápida de acceder a elementos de la estera, como la respuesta aceptada establece correctamente, pero el funcionamiento de su programa en modo de lanzamiento acelerará mucho el tapete .at() accede. Serán un poco más lentos que el acceso al puntero –
Sam