提交 a96305c2 编写于 作者: D dongshuilong

cpp_shitu code is fine

上级 74da43ad
......@@ -91,12 +91,12 @@ public:
}
// Compute best resize scale for x-dimension, y-dimension
std::pair<float, float> GenerateScale(const cv::Mat &im);
std::pair<double, double> GenerateScale(const cv::Mat &im);
virtual void Run(cv::Mat *im, ImageBlob *data);
private:
int interp_;
int interp_ = 2;
bool keep_ratio_;
std::vector<int> target_size_;
std::vector<int> in_net_shape_;
......
......@@ -50,6 +50,7 @@ public:
void LoadIndexFile();
const SearchResult &Search(float *feature, int query_number);
const std::string &GetLabel(faiss::Index::idx_t ind);
const float &GetThreshold() { return this->score_thres; }
private:
std::string index_dir;
......
......@@ -266,7 +266,7 @@ int main(int argc, char **argv) {
for (int i = 0; i < det_result.size(); ++i) {
det_result[i].confidence = search_result.D[search_result.return_k * i];
}
NMSBoxes(det_result, detector.GetThreshold(), rec_nms_thresold, indeices);
NMSBoxes(det_result, searcher.GetThreshold(), rec_nms_thresold, indeices);
// print result
PrintResult(img_path, det_result, indeices, searcher, search_result);
......
......@@ -72,8 +72,8 @@ void Resize::Run(cv::Mat *im, ImageBlob *data) {
};
}
std::pair<float, float> Resize::GenerateScale(const cv::Mat &im) {
std::pair<float, float> resize_scale;
std::pair<double, double> Resize::GenerateScale(const cv::Mat &im) {
std::pair<double, double> resize_scale;
int origin_w = im.cols;
int origin_h = im.rows;
......@@ -84,17 +84,17 @@ std::pair<float, float> Resize::GenerateScale(const cv::Mat &im) {
*std::max_element(target_size_.begin(), target_size_.end());
int target_size_min =
*std::min_element(target_size_.begin(), target_size_.end());
float scale_min =
static_cast<float>(target_size_min) / static_cast<float>(im_size_min);
float scale_max =
static_cast<float>(target_size_max) / static_cast<float>(im_size_max);
float scale_ratio = std::min(scale_min, scale_max);
double scale_min =
static_cast<double>(target_size_min) / static_cast<double>(im_size_min);
double scale_max =
static_cast<double>(target_size_max) / static_cast<double>(im_size_max);
double scale_ratio = std::min(scale_min, scale_max);
resize_scale = {scale_ratio, scale_ratio};
} else {
resize_scale.first =
static_cast<float>(target_size_[1]) / static_cast<float>(origin_w);
static_cast<double>(target_size_[1]) / static_cast<double>(origin_w);
resize_scale.second =
static_cast<float>(target_size_[0]) / static_cast<float>(origin_h);
static_cast<double>(target_size_[0]) / static_cast<double>(origin_h);
}
return resize_scale;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册