[Jderobot] [Jderobot-dev] Duda sobre CameraServer y el modo de servir im�genes
Oscar Garcia
oscar.robotica en linaresdigital.com
Dom Jul 21 21:20:51 CEST 2013
El 21/07/13 18:04, Alberto Martin escribi�:
> Para ArDroneServer nos gustar�a poder recibir las im�genes por
> separado por lo que hice la siguiente modificaci�n en CameraServer
> [6], con esto quiero conseguir que en funci�n del modo actual
> seleccionado para la c�mara CameraServer sirva una imagen o la otra.
> Para la imagen frontal todo funciona como antes, se pude ver el
> resultado en [7]. Sin embargo para la c�mara vertical sucede algo que
> no entiendo, pod�is ver el resultado en [8].
> �Alguien sabe a qu� se debe este resultado?
> [7] modificado_horinzontal:
> http://jderobot.org/store/amartinflorido/uploads/images/2_modifcado_hor.png
> [8] modificado_vertical:
> http://jderobot.org/store/amartinflorido/uploads/images/3_mod_vert.png
Buenas tardes
Tiene toda la pinta que la imagen que obtienes no tiene exactamente las
medidas que est�s poniendo o que, por otro lado, la codificaci�n de bits
no es la misma. Eso suele ocurrir cuando el n�mero de puntos que esperas
de una l�nea no coincide con el real que te mandan. O tambi�n puede ser
porque esperas que un punto tenga un tama�o en bits que luego es diferente.
En tu caso parece que est�s forzando un ancho en puntos que no es
correcto (el real).
Si lo que quieres es recortar la imagen peque�a que hay dentro de la
grande la forma en la que lo haces NO ES LA CORRECTA.
Para recortar una imagen debes usar ROIs (regiones de inter�s) y no
"forzar" el cambio de tama�o como est�s haciendo o bien usar el operador
asignaci�n (=) tal y como muestro y te pongo enlace a la documentaci�n:
http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html#index-7903
cv::Mat fotograma = (obtienes el fotograma del ardrone);
cv::Mat recorte = fotograma(cv::Range(0, 0),
cv::Range(D1_VERTSTREAM_WIDTH, D1_VERTSTREAM_HEIGHT));
Un saludo.
More information about the Jde-developers
mailing list