From 058d950675c484ac411573c5b5a2a3f8be8ebee4 Mon Sep 17 00:00:00 2001 From: Jacob Perron Date: Thu, 10 Jan 2019 13:25:26 -0800 Subject: [PATCH 1/2] Update for OpenCV v4.0 compatibility --- image_tools/src/burger.cpp | 4 ++-- image_tools/src/cam2image.cpp | 8 ++++---- image_tools/src/showimage.cpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/image_tools/src/burger.cpp b/image_tools/src/burger.cpp index 28a915ffc..24d57ee59 100644 --- a/image_tools/src/burger.cpp +++ b/image_tools/src/burger.cpp @@ -82,7 +82,7 @@ Burger::Burger() std::vector burger_png; burger_png.resize(burger_size); decode_base64(BURGER, burger_png); - burger_template = cv::imdecode(burger_png, CV_LOAD_IMAGE_COLOR); + burger_template = cv::imdecode(burger_png, cv::ImreadModes::IMREAD_COLOR); cv::floodFill(burger_template, cv::Point(1, 1), CV_RGB(1, 1, 1)); cv::compare(burger_template, 1, burger_mask, cv::CMP_NE); #ifndef _WIN32 @@ -124,7 +124,7 @@ cv::Mat & Burger::render_burger(size_t width, size_t height) } burger_buf = cv::Mat(height_i, width_i, CV_8UC3); } - burger_buf = cvScalar(0, 0, 0); + burger_buf = cv::Scalar_(0, 0, 0); for (int b = 0; b < static_cast(x.size()); b++) { burger_template.copyTo(burger_buf(cv::Rect( x[b], diff --git a/image_tools/src/cam2image.cpp b/image_tools/src/cam2image.cpp index 496811a2b..7ac49383d 100644 --- a/image_tools/src/cam2image.cpp +++ b/image_tools/src/cam2image.cpp @@ -156,8 +156,8 @@ int main(int argc, char * argv[]) cap.open(0); // Set the width and height based on command line arguments. - cap.set(CV_CAP_PROP_FRAME_WIDTH, static_cast(width)); - cap.set(CV_CAP_PROP_FRAME_HEIGHT, static_cast(height)); + cap.set(cv::CAP_PROP_FRAME_WIDTH, static_cast(width)); + cap.set(cv::CAP_PROP_FRAME_HEIGHT, static_cast(height)); if (!cap.isOpened()) { RCLCPP_ERROR(node_logger, "Could not open video stream"); return 1; @@ -195,9 +195,9 @@ int main(int argc, char * argv[]) if (show_camera) { // NOTE(esteve): Use C version of cvShowImage to avoid this on Windows: // http://stackoverflow.com/questions/20854682/opencv-multiple-unwanted-window-with-garbage-name - CvMat cvframe = frame; + cv::Mat cvframe = frame; // Show the image in a window called "cam2image". - cvShowImage("cam2image", &cvframe); + cv::imshow("cam2image", cvframe); // Draw the image to the screen and wait 1 millisecond. cv::waitKey(1); } diff --git a/image_tools/src/showimage.cpp b/image_tools/src/showimage.cpp index fd69eede0..577a98a59 100644 --- a/image_tools/src/showimage.cpp +++ b/image_tools/src/showimage.cpp @@ -71,12 +71,12 @@ void show_image( cv::cvtColor(frame, frame, cv::COLOR_RGB2BGR); } - CvMat cvframe = frame; + cv::Mat cvframe = frame; // NOTE(esteve): Use C version of cvShowImage to avoid this on Windows: // http://stackoverflow.com/q/20854682 // Show the image in a window called "showimage". - cvShowImage("showimage", &cvframe); + cv::imshow("showimage", cvframe); // Draw the screen and wait for 1 millisecond. cv::waitKey(1); } @@ -112,7 +112,7 @@ int main(int argc, char * argv[]) if (show_camera) { std::cerr << "Creating window" << std::endl; // Initialize an OpenCV named window called "showimage". - cvNamedWindow("showimage", CV_WINDOW_AUTOSIZE); + cv::namedWindow("showimage", cv::WINDOW_AUTOSIZE); cv::waitKey(1); std::cerr << "After creating window" << std::endl; } From 2877adbd9ed54646e80344ffc468b009494625da Mon Sep 17 00:00:00 2001 From: Jacob Perron Date: Thu, 10 Jan 2019 18:12:19 -0800 Subject: [PATCH 2/2] cv::Scalar_ -> cv::Scalar --- image_tools/src/burger.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image_tools/src/burger.cpp b/image_tools/src/burger.cpp index 24d57ee59..09c6419b9 100644 --- a/image_tools/src/burger.cpp +++ b/image_tools/src/burger.cpp @@ -124,7 +124,7 @@ cv::Mat & Burger::render_burger(size_t width, size_t height) } burger_buf = cv::Mat(height_i, width_i, CV_8UC3); } - burger_buf = cv::Scalar_(0, 0, 0); + burger_buf = cv::Scalar(0, 0, 0); for (int b = 0; b < static_cast(x.size()); b++) { burger_template.copyTo(burger_buf(cv::Rect( x[b],