Advertisement

Apollo自动驾驶开发笔记36——获取apollo图像数据流并使用opencv显示和读入图像写入图像数据流

阅读量:

本节将介绍如何接收Apollo图像流数据,并通过OpenCV库实现数据流的获取与处理,包括显示和读取图像数据流的过程。

  • 将图片导入到数据流中
  • 将图片加载至数据流中
  • 将图片导入至数据流中

在开发Apollo的过程中,通常需要了解数据流的形态,然而Apollo的图像无法直接访问。为了测试效果,我总结出两种方法:一种是通过提取pipiline中的图像并调用OpenCV进行显示,另一种是直接读取图片文件进行测试。这两种方法各有特点,可以根据具体需求选择使用。

获取数据流并使用opencv显示

复制代码
      cv::Mat yolov8_input_image(image_height_, image_width_, CV_8UC3,
                             cv::Scalar(0, 0, 0));
      base::Image8U out_image(image_height_, image_width_, base::Color::RGB);
      camera::DataProvider::ImageOptions image_options;
      image_options.target_color = base::Color::BGR;
      frame->data_provider->GetImage(image_options, &out_image);
      memcpy(yolov8_input_image.data, out_image.cpu_data(),
         out_image.total() * sizeof(uint8_t));
    
      cv::namedWindow("yolov8_input_image", 0);
      cv::imshow("yolov8_input_image", yolov8_input_image);
      cv::waitKey(10);
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

读入图片到数据流中

复制代码
    cv::Mat test_image;
    test_image =
        cv::imread("/mnt/1.jpg", cv::IMREAD_COLOR);
    frame->data_provider->FillImageData(
        1080, 1920, (const uint8_t *)(test_image.data), "bgr8");
    #endif
    
    
      
      
      
      
      
      
    
    AI助手

读入图片到数据流中

全部评论 (0)

还没有任何评论哟~