From 04ea97a04be5e708559ef4c074e83f139356dca0 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 30 Jul 2020 16:10:30 +0800 Subject: [PATCH] fix redundant func in image pre-process --- prj_ncnn/cpp/DBface.cpp | 23 +++++++++++------------ prj_ncnn/cpp/DBface.h | 4 ++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/prj_ncnn/cpp/DBface.cpp b/prj_ncnn/cpp/DBface.cpp index fe31ecd..cc739a5 100644 --- a/prj_ncnn/cpp/DBface.cpp +++ b/prj_ncnn/cpp/DBface.cpp @@ -60,21 +60,20 @@ int DBface::pre_process(ncnn::Mat image, ncnn::Mat &out) { ncnn::resize_bilinear(image, in, fixed_w, fixed_h); } - int c, h, w; - c = in.c; - h = in.h; - w = in.w; - float *data = (float *)(in.data); - - for (int i = 0; i < c; ++i) { - for (int j = 0; j < h; ++j) { - for (int k = 0; k < w; ++k) { - data[i*h*w + j*w + k] /= 255; + in.substract_mean_normalize(mean_value, std_value); + +#ifdef DEBUG + { + for (int c = 0; c < in.c; c++) + { + const ncnn::Mat m = in.channel(c); + const float* ptr = m.row(0); + { + printf("in %d %f\n", 0, ptr[0]); } } } - - in.substract_mean_normalize(mean_value, std_value); +#endif image_h = in.h; image_w = in.w; diff --git a/prj_ncnn/cpp/DBface.h b/prj_ncnn/cpp/DBface.h index 0370acb..e6f2a3a 100644 --- a/prj_ncnn/cpp/DBface.h +++ b/prj_ncnn/cpp/DBface.h @@ -28,8 +28,8 @@ class DBface{ ncnn::Net net; - const float mean_value[3] = {0.408f, 0.447f, 0.47f}; - const float std_value[3] = {1/0.289f, 1/0.274f, 1/0.278f}; + const float mean_value[3] = {0.408f * 255.0, 0.447f * 255.0, 0.47f * 255.0}; + const float std_value[3] = {1 / 0.289f / 255.0, 1 / 0.274f / 255.0, 1 / 0.278f / 255.0}; int fixed_h = 2220; // for fixed size inference int fixed_w = 3072; float fix_scale_h = 1.f;