void BaseFrame::image_receivedCB(const sensor_msgs::ImageConstPtr & msg) { if(first_image || base_frame_graphics_view->get_correct_bb()) { try { if (enc::isColor(msg->encoding)) cv_ptr = cv_bridge::toCvShare(msg, enc::RGB8); else cv_ptr = cv_bridge::toCvShare(msg, enc::MONO8); } catch (cv_bridge::Exception& e) { ROS_ERROR("cv_bridge exception: %s", e.what()); return; } QImage image; if (enc::isColor(msg->encoding)) { image = QImage((const unsigned char*)(cv_ptr->image.data),cv_ptr->image.cols,cv_ptr->image.rows,QImage::Format_RGB888); //image.rgbSwapped(); } else { image = QImage((const unsigned char*)(cv_ptr->image.data),cv_ptr->image.cols,cv_ptr->image.rows,QImage::Format_Indexed8); } emit sig_image_received(image); if(first_image) first_image = false; } }
void BaseFrame::image_received_callback(const sensor_msgs::ImageConstPtr & msg) { if(first_image || baseFrameGraphicsView->get_correct_bb()) { try { if (enc::isColor(msg->encoding)) //cv_ptr = cv_bridge::toCvShare(msg, enc::BGR8); //Original cv_ptr = cv_bridge::toCvShare(msg, enc::RGB8); //edited by Ardillo else cv_ptr = cv_bridge::toCvShare(msg, enc::MONO8); } catch (cv_bridge::Exception& e) { ROS_ERROR("cv_bridge exception: %s", e.what()); return; } QImage image; try { if (enc::isColor(msg->encoding)) { image = QImage((const unsigned char*)(cv_ptr->image.data),cv_ptr->image.cols,cv_ptr->image.rows,QImage::Format_RGB888); //image.rgbSwapped(); //commented by Ardillo } else { image = QImage((const unsigned char*)(cv_ptr->image.data),cv_ptr->image.cols,cv_ptr->image.rows,QImage::Format_Indexed8); } } catch (cv_bridge::Exception& e) { ROS_ERROR("cv_bridge exception2: %s", e.what()); return; } emit sig_image_received(image); if(first_image) first_image = false; } }