Я пытаюсь создать образ шахматной доски с opencv и ROS, но он выдает ошибку: изображение, которое я загружаю здесь , содержит скриншот командной строки с ошибкой.
и ссылка содержит код.
Я попытался создать изображение шахматной доски с помощью ROS и openCV, но при запуске узла, который создает изображение и публикует его, возникает ошибка с выдачей ошибки.
#include "ros/ros.h"
#include <opencv2/highgui/highgui.hpp>
#include <image_transport/image_transport.h>
#include <sensor_msgs/image_encodings.h>
#include <cv_bridge/cv_bridge.h>
using namespace cv;
int main(int argc , char **argv){
ros::init(argc , argv ,"cb_publisher");
ros::NodeHandle n("~");
image_transport::ImageTransport it(n);
image_transport::Publisher pub_image_raw;
int x=argv[1];
int y=argv[2];
int z=argv[3];
//int d=y/z;
unsigned char color =0;
cv_bridge::CvImagePtr frame;
cv::Mat img(x,y,CV_8UC3,cv::Scalar(0,0,0));
for (int i=0;i<x;i++){
color=~color;
for (int j=0;j<y;j++){
cv::Mat ROI=frame -> image(Rect(i,j));
ROI.setTo(cv::Scalar(180,180,180));
color=~color;
}
}
pub_image_raw =it.advertise("image" , 1);
ros::Rate loop_rate(10);
while(ros::ok()){
pub_image_raw.publish(frame ->toImageMsg());
ros::spinOnce();
loop_rate.sleep();
}
return 0;
}