Skip to content

Commit c1c91a7

Browse files
authored
Merge pull request #222 from syyxsxx/padding3
add padding im_vaule
2 parents 50bb5a9 + 5329c1f commit c1c91a7

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

deploy/cpp/include/paddlex/transforms.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,20 @@ class Padding : public Transform {
214214
height_ = item["target_size"].as<std::vector<int>>()[1];
215215
}
216216
}
217+
if (item["im_padding_value"].IsDefined()) {
218+
im_value_ = item["im_padding_value"].as<std::vector<float>>();
219+
}
220+
else {
221+
im_value_ = {0, 0, 0};
222+
}
217223
}
218224
virtual bool Run(cv::Mat* im, ImageBlob* data);
219225

220226
private:
221227
int coarsest_stride_ = -1;
222228
int width_ = 0;
223229
int height_ = 0;
230+
std::vector<float> im_value_;
224231
};
225232
/*
226233
* @brief

deploy/cpp/src/transforms.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,9 @@ bool Padding::Run(cv::Mat* im, ImageBlob* data) {
110110
<< ", but they should be greater than 0." << std::endl;
111111
return false;
112112
}
113+
cv::Scalar value = cv::Scalar(im_value_[0], im_value_[1], im_value_[2]);
113114
cv::copyMakeBorder(
114-
*im, *im, 0, padding_h, 0, padding_w, cv::BORDER_CONSTANT, cv::Scalar(0));
115+
*im, *im, 0, padding_h, 0, padding_w, cv::BORDER_CONSTANT, value);
115116
data->new_im_size_[0] = im->rows;
116117
data->new_im_size_[1] = im->cols;
117118
return true;

0 commit comments

Comments
 (0)