Quiero escribir datos directamente en la matriz imageData de una imagen Ipl, pero no puedo encontrar mucha información sobre cómo está formateada. Una cosa que me preocupa especialmente es que, a pesar de crear una imagen con tres canales, hay cuatro bytes por cada píxel.escribiendo en IplImage imageData
La función que estoy usando para crear la imagen es:
IplImage *frame = cvCreateImage(cvSize(1, 1), IPL_DEPTH_8U, 3);
Según todos los indicios, esto debe crear una imagen de tres canales RGB, pero eso no parece ser el caso.
¿Cómo podría, por ejemplo, escribir un único píxel rojo en esa imagen?
Gracias por cualquier ayuda, me deja perplejo.
http://stackoverflow.com/questions/6868723/get -rgb-pixels-from-input-image-and-reconstruct-an-output-image-in-opencv/6875991 # 6875991 – karlphillip
Esa respuesta supone que, de hecho, habrá tres bits por píxel. Confirmé que nChannels de mi imagen es 3, pero todavía hay 4 bits por cada píxel. Por lo que vale, en realidad no están agrupados con los píxeles. parecen estar almacenados al final de cada fila, todo configurado en 0. – wyatt