提交 a96305c2 编写于 作者: D dongshuilong

cpp_shitu code is fine

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