Skip to content
Snippets Groups Projects
Commit 3c986f8a authored by Angel Santamaria-Navarro's avatar Angel Santamaria-Navarro
Browse files

almost working. only raw messages to be fixed in ros node

parent f9faebc1
No related branches found
No related tags found
No related merge requests found
......@@ -282,11 +282,81 @@ void Mvbluefox3CameraDriver::GetROSImage(const int &ncam, sensor_msgs::Image &im
{
ros::Time start_time = ros::Time::now();
char *image;
char *image = NULL;
this->vcam_ptr[ncam]->GetImage(&image);
GetConfig(ncam);
std::string encoding;
encoding = CMvbluefox3::codings_str[this->vparams[ncam].pixel_format];
int bp = this->vcam_ptr[ncam]->GetBytesPixel();
int depth = this->vcam_ptr[ncam]->GetDepth();
bool ROSvalid = true;
switch (this->vparams[ncam].pixel_format)
{
case CMvbluefox3::raw:
// switch (depth*bp)
// {
// case 8: encoding = "8UC1"; break;
// case 16: encoding = "8UC2"; break;
// case 24: encoding = "8UC3"; break;
// case 32: encoding = "8UC4"; break;
// default: ROS_WARN("Invalid depth. Depth not implemented for sensor_msgs."); break;
// }
encoding = "rgb8";
break;
case CMvbluefox3::mono8: break;
case CMvbluefox3::mono10: ROSvalid = false; break;
case CMvbluefox3::mono12: ROSvalid = false; break;
case CMvbluefox3::mono12v1: ROSvalid = false; break;
case CMvbluefox3::mono12v2: ROSvalid = false; break;
case CMvbluefox3::mono14: ROSvalid = false; break;
case CMvbluefox3::mono16: encoding = "16UC1"; break;
case CMvbluefox3::rgb8: break;
case CMvbluefox3::bgr8: break;
case CMvbluefox3::bgr8p: ROSvalid = false; break;
case CMvbluefox3::bgra8p: ROSvalid = false; break;
case CMvbluefox3::bgr10: ROSvalid = false; break;
case CMvbluefox3::bgr12: ROSvalid = false; break;
case CMvbluefox3::bgr14: ROSvalid = false; break;
case CMvbluefox3::bgr16: encoding = "16UC3"; break;
case CMvbluefox3::bgra8: ROSvalid = false; break;
case CMvbluefox3::yuv411uyyvyy: ROSvalid = false; break;
case CMvbluefox3::yuv422: break;
case CMvbluefox3::yuv422p: ROSvalid = false; break;
case CMvbluefox3::yuv42210: ROSvalid = false; break;
case CMvbluefox3::yuv422uyvy: ROSvalid = false; break;
case CMvbluefox3::yuv422uyvy10: ROSvalid = false; break;
case CMvbluefox3::yuv444: ROSvalid = false; break;
case CMvbluefox3::yuv44410p: ROSvalid = false; break;
case CMvbluefox3::yuv444uyv: ROSvalid = false; break;
case CMvbluefox3::yuv444uyv10: ROSvalid = false; break;
}
if (!ROSvalid)
ROS_WARN("mvBlueFOX3 pixel format %s no valid within ROS messages.",encoding.c_str());
// else if(config.coding==RAW)
// {
// this->camera.Image_msg_->encoding=this->driver_.get_bayer_pattern();
// }
// else
// {
// if(config.depth==DEPTH24)
// this->camera.Image_msg_->encoding="rgb8";
// else if(config.depth==DEPTH48)
// this->camera.Image_msg_->encoding="16UC3";
// else
// this->camera.Image_msg_->encoding="16UC3";
// }
// }
// //
sensor_msgs::fillImage(img_msg,
CMvbluefox3::codings_str[this->vparams[ncam].pixel_format],
encoding,
this->vparams[ncam].height,
this->vparams[ncam].width,
this->vcam_ptr[ncam]->GetImgLinePitch(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment