syyxsxx 5 years ago
parent
commit
36eebeb0f5
1 changed files with 3 additions and 3 deletions
  1. 3 3
      deploy/cpp/src/paddlex.cpp

+ 3 - 3
deploy/cpp/src/paddlex.cpp

@@ -532,12 +532,12 @@ bool Model::predict(const std::vector<cv::Mat>& im_batch,
     for (int i = 0; i < lod_vector[0].size() - 1; ++i) {
       (*results)[i].mask_resolution = output_mask_shape[2];
       for (int j = 0; j < (*results)[i].boxes.size(); ++j) {
-        Box* box = &result->boxes[i];
+        Box* box = &(*results)[i]->boxes[i];
         int category_id = box->category_id;
         box->mask.shape = {static_cast<int>(box->coordinate[2]),
                           static_cast<int>(box->coordinate[3])};
         auto begin_mask =
-          output_mask.begin() + (i * classes + box->category_id) * mask_pixels;
+          output_mask.data() + (i * classes + box->category_id) * mask_pixels;
         cv::Mat bin_mask(result->mask_resolution,
                       result->mask_resolution,
                       CV_32FC1,
@@ -546,7 +546,7 @@ bool Model::predict(const std::vector<cv::Mat>& im_batch,
                 bin_mask,
                 cv::Size(box->mask.shape[0], box->mask.shape[1]));
         cv::threshold(bin_mask, bin_mask, 0.5, 1, cv::THRESH_BINARY);
-        auto mask_int_begin = bin_mask.data;
+        auto mask_int_begin = reinterpret_cast<int*>(bin_mask.data);
         auto mask_int_end =
           mask_int_begin + box->mask.shape[0] * box->mask.shape[1];
         box->mask.data.assign(mask_int_begin, mask_int_end);