<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">El 08/01/14 12:57, Eloy escribió:<br>
</div>
<blockquote cite="mid:1389182275504-4641999.post@n4.nabble.com"
type="cite">
<pre wrap="">Hola, tengo un video avi cargado por cameraserver para poder usarlo en mi
componente.
Con otros videos no me pasa. No se si puede ser el formato del video. He
probado a cambiar en el cfg de cameraserver el formato RGB8 por YUY2.
</pre>
</blockquote>
<br>
<br>
Buenas tardes.<br>
<br>
Deberías editar el código de cameraserver y mostrar la profundidad
de color y los canales de cada fotograma para averiguar lo que
ocurre. A ojo parece que la imagen se entrelaza con el doble (o
triple) del tamaño esperado, es como si fuera "RGB4" o algún formato
de un único byte (sólo pienso en voz alta), pero lo suyo es
averiguarlo ANTES de la transformación de RGB a BGR:<br>
<br>
<blockquote>std::cout << "Profundidad: " <<
frame.depth() << ", canales: " <<<br>
frame.channels()
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<< std::endl;<br>
cv::cvtColor(frame, frame, CV_RGB2BGR);<br>
</blockquote>
<br>
Estas líneas de código las deberás incluir dentro de la clase
ReplyTask (método run). Recuerda que la de RGB2BGR debes mantenerla,
sólo debes agregar la línea anterior para que te aparezcan los datos
de canales y profundidad de color de cada canal de la imagen antes
de ser (¿erróneamente?) transformada.<br>
<br>
Un saludo.<br>
</body>
</html>