aruco_map: fix drawing map image

This commit is contained in:
Oleg Kalachev
2019-03-02 23:40:10 +03:00
parent a9e1015bad
commit 2b82516a97
3 changed files with 12 additions and 5 deletions

View File

@@ -399,12 +399,19 @@ publish_debug:
void publishMapImage()
{
cv::Size size(image_width_, image_height_);
cv::Mat image;
cv_bridge::CvImage msg;
drawPlanarBoard(board_, cv::Size(image_width_, image_height_), image, image_margin_, 1);
cv::cvtColor(image, image, CV_GRAY2BGR);
msg.encoding = sensor_msgs::image_encodings::BGR8;
if (!board_->ids.empty()) {
_drawPlanarBoard(board_, size, image, image_margin_, 1);
} else {
// empty map
image.create(size, CV_8UC1);
image.setTo(cv::Scalar::all(255));
}
msg.encoding = sensor_msgs::image_encodings::MONO8;
msg.image = image;
img_pub_.publish(msg.toImageMsg());
}

View File

@@ -6,7 +6,7 @@
using namespace cv;
using namespace cv::aruco;
void drawPlanarBoard(Board *_board, Size outSize, OutputArray _img, int marginSize,
void _drawPlanarBoard(Board *_board, Size outSize, OutputArray _img, int marginSize,
int borderBits) {
CV_Assert(outSize.area() > 0);

View File

@@ -3,4 +3,4 @@
#include <opencv2/opencv.hpp>
#include <opencv2/aruco.hpp>
void drawPlanarBoard(cv::aruco::Board *_board, cv::Size outSize, cv::OutputArray _img, int marginSize, int borderBits);
void _drawPlanarBoard(cv::aruco::Board *_board, cv::Size outSize, cv::OutputArray _img, int marginSize, int borderBits);