[Jderobot] Opencv para Ruby
Roberto Calvo
rocapal en gsyc.urjc.es
Sab Mar 29 14:06:47 CET 2014
El vie, 28-03-2014 a las 23:06 +0100, Edgar Barrero Mateo escribió:
> Hola de nuevo,
>
> He mirado y si existe opencv para ruby. Lo he instalado y me da un
> problemilla pero creo que lo podre solucionar asi que si me podeis pasar
> el código para pasar imágenes jpeg os lo agradezco.
Genial, eso son buenas noticias Edgar. Te paso el código de openCV en C
Para guardar imagen de color de cualquier cameraServer es de la sguiente
manera. Asume que colorImage es el cv::Mat que obtienes de tu interface
de camera. Si quieres guardar png o jpg, solo tienes que cambiar el
nombre del fichero donde lo vas a guardar, opencv se encarga del resto.
// Save color image
cv::Mat colorImage = cameraServer.getImage();
std::string filename = "/tmp/color-image.jpg";
cv::cvtColor(colorImage, colorImage, CV_RGB2BGR);
imwrite( filenameColor.str(), colorImage );
Para guarda la imagen de profundidad es parecido, pero hay que hacer un
split de los 3Bytes que tienen (Se envía 3 bytes RGB, pero solo en 1
byte esta la información de la imagen en escala de grises)
// Save depth image
cv::Mat depthImage = cameraServer.getImage();
std::string filenameDepth = "/tmp/depth-image.jpg";
cv::Mat grayDepth(depthImage.size(),depthImage.type());
std::vector<cv::Mat> layers;
cv::split(depthImage, layers);
cv::cvtColor(layers[0],grayDepth,CV_GRAY2RGB);
imwrite( filenameDepth.str(), grayDepth );
Seguro que con esto aumentas y mucho los fps de tu streaming!
>
> Muchas gracias.
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
--
Roberto Calvo Palomino | Robotics Lab (GSyC)
R&D Android Mobile Engineer | Universidad Rey Juan Carlos
Twitter: @rocapal
Linkedin: http://www.linkedin.com/in/rocapal
More information about the Jde-developers
mailing list