feat: change replace_full so it's set in tasks

previously in set_replace
This commit is contained in:
Yifan Liu
2023-02-24 15:32:16 -06:00
parent 1dc1530152
commit d7265bfb40
8 changed files with 12 additions and 14 deletions

View File

@@ -191,7 +191,7 @@ bool asst::BattleHelper::update_deployment(bool init, const cv::Mat& reusable)
auto analyze = [&](OcrImageAnalyzer& name_analyzer) {
name_analyzer.set_image(name_image);
name_analyzer.set_task_info(oper_name_ocr_task_name());
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map, true);
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map);
if (!name_analyzer.analyze()) {
return std::string();
}

View File

@@ -275,7 +275,7 @@ bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig co
const auto& ocr_replace = Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map;
for (const auto& oper : oper_analyzer_res) {
OcrWithPreprocessImageAnalyzer name_analyzer;
name_analyzer.set_replace(ocr_replace, true);
name_analyzer.set_replace(ocr_replace);
name_analyzer.set_image(oper.name_img);
name_analyzer.set_expansion(0);
if (!name_analyzer.analyze()) {
@@ -330,7 +330,7 @@ bool asst::InfrastAbstractTask::select_custom_opers(std::vector<std::string>& pa
const auto& ocr_replace = Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map;
for (const auto& oper : oper_analyzer.get_result()) {
OcrWithPreprocessImageAnalyzer name_analyzer;
name_analyzer.set_replace(ocr_replace, true);
name_analyzer.set_replace(ocr_replace);
name_analyzer.set_image(oper.name_img);
name_analyzer.set_expansion(0);
if (!name_analyzer.analyze()) {
@@ -387,7 +387,7 @@ void asst::InfrastAbstractTask::order_opers_selection(const std::vector<std::str
std::vector<TextRect> page_result;
for (const auto& oper : oper_analyzer.get_result()) {
OcrWithPreprocessImageAnalyzer name_analyzer;
name_analyzer.set_replace(ocr_replace, true);
name_analyzer.set_replace(ocr_replace);
name_analyzer.set_image(oper.name_img);
name_analyzer.set_expansion(0);
if (!name_analyzer.analyze()) {

View File

@@ -447,7 +447,7 @@ bool asst::InfrastProductionTask::optimal_calc()
}
else {
OcrWithPreprocessImageAnalyzer name_analyzer(find_iter->name_img);
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map, true);
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map);
Log.trace("Analyze name filter");
if (!name_analyzer.analyze()) {
continue;
@@ -574,7 +574,7 @@ bool asst::InfrastProductionTask::opers_choose()
}
else {
OcrWithPreprocessImageAnalyzer name_analyzer(lhs.name_img);
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map, true);
name_analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map);
Log.trace("Analyze name filter");
if (!name_analyzer.analyze()) {
return false;

View File

@@ -133,12 +133,12 @@ std::vector<asst::TextRect> asst::BattleFormationTask::analyzer_opers()
OcrWithFlagTemplImageAnalyzer name_analyzer(image);
name_analyzer.set_task_info("BattleQuickFormation-OperNameFlag", "BattleQuickFormationOCR");
name_analyzer.set_replace(ocr_replace, true);
name_analyzer.set_replace(ocr_replace);
name_analyzer.analyze();
OcrWithFlagTemplImageAnalyzer special_focus_analyzer(image);
special_focus_analyzer.set_task_info("BattleQuickFormation-OperNameFlag-SpecialFocus", "BattleQuickFormationOCR");
special_focus_analyzer.set_replace(ocr_replace, true);
special_focus_analyzer.set_replace(ocr_replace);
special_focus_analyzer.analyze();
auto opers_result = name_analyzer.get_result();

View File

@@ -109,10 +109,9 @@ void asst::OcrImageAnalyzer::set_required(std::vector<std::string> required) noe
m_required = std::move(required);
}
void asst::OcrImageAnalyzer::set_replace(std::unordered_map<std::string, std::string> replace, bool replace_full) noexcept
void asst::OcrImageAnalyzer::set_replace(std::unordered_map<std::string, std::string> replace) noexcept
{
m_replace = std::move(replace);
m_replace_full = replace_full;
}
void asst::OcrImageAnalyzer::set_task_info(OcrTaskInfo task_info) noexcept

View File

@@ -25,8 +25,7 @@ namespace asst
virtual void sort_result_by_required(); // 按传入的需求数组排序,传入的在前面结果接在前面
void set_required(std::vector<std::string> required) noexcept;
void set_replace(std::unordered_map<std::string, std::string> replace, bool replace_full = false) noexcept; // The whole string is replaced when replace_full is set to true,
// while only the matched part is replaced when it is set to false
void set_replace(std::unordered_map<std::string, std::string> replace) noexcept;
virtual void set_task_info(std::shared_ptr<TaskInfo> task_ptr);
virtual void set_task_info(const std::string& task_name);

View File

@@ -12,7 +12,7 @@ bool asst::RoguelikeRecruitImageAnalyzer::analyze()
OcrWithFlagTemplImageAnalyzer analyzer(m_image);
analyzer.set_task_info("RoguelikeRecruitOcrFlag", "RoguelikeRecruitOcr");
analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map, true);
analyzer.set_replace(Task.get<OcrTaskInfo>("CharsNameOcrReplace")->replace_map);
analyzer.set_threshold(Task.get("RoguelikeRecruitOcr")->specific_rect.x);
if (!analyzer.analyze()) {

View File

@@ -54,7 +54,7 @@ std::string asst::RoguelikeSkillSelectionImageAnalyzer::name_analyze(const Rect&
analyzer.set_task_info(name_task_ptr);
analyzer.set_image(m_image);
analyzer.set_roi(roi.move(name_task_ptr->roi));
analyzer.set_replace(std::dynamic_pointer_cast<OcrTaskInfo>(Task.get("CharsNameOcrReplace"))->replace_map, true);
analyzer.set_replace(std::dynamic_pointer_cast<OcrTaskInfo>(Task.get("CharsNameOcrReplace"))->replace_map);
if (!analyzer.analyze()) {
return {};