|
|
|
@@ -387,15 +387,13 @@ TEST_F(MindDataImageProcess, TestPadd) { |
|
|
|
std::string filename = "data/dataset/apple.jpg"; |
|
|
|
cv::Mat image = cv::imread(filename, cv::ImreadModes::IMREAD_COLOR); |
|
|
|
|
|
|
|
cv::Mat resize_256_image; |
|
|
|
cv::resize(image, resize_256_image, cv::Size(256, 256), CV_INTER_LINEAR); |
|
|
|
int left = 10; |
|
|
|
int right = 10; |
|
|
|
int top = 10; |
|
|
|
int bottom = 10; |
|
|
|
int right = 20; |
|
|
|
int top = 30; |
|
|
|
int bottom = 40; |
|
|
|
cv::Mat b_image; |
|
|
|
cv::Scalar color = cv::Scalar(255, 255, 255); |
|
|
|
cv::copyMakeBorder(resize_256_image, b_image, top, bottom, left, right, cv::BORDER_CONSTANT, color); |
|
|
|
cv::copyMakeBorder(image, b_image, top, bottom, left, right, cv::BORDER_CONSTANT, color); |
|
|
|
cv::Mat rgba_mat; |
|
|
|
cv::cvtColor(image, rgba_mat, CV_BGR2RGBA); |
|
|
|
|
|
|
|
@@ -403,13 +401,48 @@ TEST_F(MindDataImageProcess, TestPadd) { |
|
|
|
bool ret = |
|
|
|
InitFromPixel(rgba_mat.data, LPixelType::RGBA2BGR, LDataType::UINT8, rgba_mat.cols, rgba_mat.rows, lite_mat_bgr); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
LiteMat lite_mat_resize; |
|
|
|
ret = ResizeBilinear(lite_mat_bgr, lite_mat_resize, 256, 256); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
LiteMat makeborder; |
|
|
|
ret = Pad(lite_mat_resize, makeborder, top, bottom, left, right, PaddBorderType::PADD_BORDER_CONSTANT, 255, 255, 255); |
|
|
|
ret = Pad(lite_mat_bgr, makeborder, top, bottom, left, right, PaddBorderType::PADD_BORDER_CONSTANT, 255, 255, 255); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
cv::Mat dst_image(256 + top + bottom, 256 + left + right, CV_8UC3, makeborder.data_ptr_); |
|
|
|
size_t total_size = makeborder.height_ * makeborder.width_ * makeborder.channel_; |
|
|
|
double distance = 0.0f; |
|
|
|
for (size_t i = 0; i < total_size; i++) { |
|
|
|
distance += pow((uint8_t)b_image.data[i] - ((uint8_t*)makeborder)[i], 2); |
|
|
|
} |
|
|
|
distance = sqrt(distance / total_size); |
|
|
|
EXPECT_EQ(distance, 0.0f); |
|
|
|
} |
|
|
|
|
|
|
|
TEST_F(MindDataImageProcess, TestPadZero) { |
|
|
|
std::string filename = "data/dataset/apple.jpg"; |
|
|
|
cv::Mat image = cv::imread(filename, cv::ImreadModes::IMREAD_COLOR); |
|
|
|
|
|
|
|
int left = 0; |
|
|
|
int right = 0; |
|
|
|
int top = 0; |
|
|
|
int bottom = 0; |
|
|
|
cv::Mat b_image; |
|
|
|
cv::Scalar color = cv::Scalar(255, 255, 255); |
|
|
|
cv::copyMakeBorder(image, b_image, top, bottom, left, right, cv::BORDER_CONSTANT, color); |
|
|
|
cv::Mat rgba_mat; |
|
|
|
cv::cvtColor(image, rgba_mat, CV_BGR2RGBA); |
|
|
|
|
|
|
|
LiteMat lite_mat_bgr; |
|
|
|
bool ret = |
|
|
|
InitFromPixel(rgba_mat.data, LPixelType::RGBA2BGR, LDataType::UINT8, rgba_mat.cols, rgba_mat.rows, lite_mat_bgr); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
LiteMat makeborder; |
|
|
|
ret = Pad(lite_mat_bgr, makeborder, top, bottom, left, right, PaddBorderType::PADD_BORDER_CONSTANT, 255, 255, 255); |
|
|
|
ASSERT_TRUE(ret == true); |
|
|
|
size_t total_size = makeborder.height_ * makeborder.width_ * makeborder.channel_; |
|
|
|
double distance = 0.0f; |
|
|
|
for (size_t i = 0; i < total_size; i++) { |
|
|
|
distance += pow((uint8_t)b_image.data[i] - ((uint8_t*)makeborder)[i], 2); |
|
|
|
} |
|
|
|
distance = sqrt(distance / total_size); |
|
|
|
EXPECT_EQ(distance, 0.0f); |
|
|
|
} |
|
|
|
|
|
|
|
TEST_F(MindDataImageProcess, TestGetDefaultBoxes) { |
|
|
|
|