vitis::ai::Segmentation - 2.5 简体中文

Vitis AI Library 用户指南 (UG1354)

Document ID
UG1354
Release Date
2022-06-15
Version
2.5 简体中文
此基本类对应 Segmentation

声明 Segmentation 网络;分割类的数量,标签 0;名称:"unlabeled";标签 1;名称:"ego vehicle";标签 2;名称:"rectification border";标签 3;名称:"out of roi";标签 4;名称:"static";标签 5;名称:"dynamic";标签 6;名称:"ground";标签 7;名称:"road";标签 8;名称:"sidewalk" 标签 9;名称:"parking";标签 10;名称:"rail track";标签 11;名称:"building";标签 12;名称:"wall";标签 13;名称:"fence";标签 14;名称:"guard rail";标签 15;名称:"bridge";标签 16;名称:"tunnel";标签 17;名称:"pole"

输入为图像 (cv:Mat)。

输出是运行分割网络的结果。

代码样本:

   auto det =vitis::ai::Segmentation::create("fpn", true);

   auto img= cv::imread("sample_segmentation.jpg");
   int width = det->getInputWidth();
   int height = det->getInputHeight();
   cv::Mat image;
   cv::resize(img, image, cv::Size(width, height), 0, 0,
              cv::INTER_LINEAR);
   auto result = det->run_8UC1(image);
   for (auto y = 0; y < result.segmentation.rows; y++) {
     for (auto x = 0; x < result.segmentation.cols; x++) {
           result.segmentation.at<uchar>(y,x) *= 10;
       }
   }
   cv::imwrite("segres.jpg",result.segmentation);

   auto resultshow = det->run_8UC3(image);
   resize(resultshow.segmentation, resultshow.segmentation,
cv::Size(resultshow.cols * 2, resultshow.rows * 2));
   cv::imwrite("sample_segmentation_result.jpg",resultshow.segmentation);
图 1. 分割可视化结果图像

函数快速参考

下表列出了 vitis::ai::Segmentation 类中定义的所有函数:

表 1. 函数快速参考
类型 成员 实参
std::unique_ptr< Segmentation > create
  • const std::string & model_name
  • bool need_preprocess
int getInputWidth
  • void
int getInputHeight
  • void
size_t get_input_batch
  • void
SegmentationResult run_8UC1
  • const cv::Mat & image
std::vector< SegmentationResult > run_8UC1
  • const std::vector< cv::Mat > & images
SegmentationResult run_8UC3
  • const cv::Mat & image
std::vector< SegmentationResult > run_8UC3
  • const std::vector< cv::Mat > & images