MCPcopy Create free account
hub / github.com/MaaXYZ/MaaFramework / parse_ocrer_param

Method parse_ocrer_param

source/MaaFramework/Resource/PipelineParser.cpp:621–719  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

619}
620
621bool PipelineParser::parse_ocrer_param(
622 const json::value& input,
623 MAA_VISION_NS::OCRerParam& output,
624 const MAA_VISION_NS::OCRerParam& default_value)
625{
626 if (!parse_roi_target(input, output.roi_target, default_value.roi_target)) {
627 LogError << "failed to parse_roi_target" << VAR(input);
628 return false;
629 }
630
631 if (!parse_order_of_result(
632 input,
633 output.order_by,
634 output.result_index,
635 default_value.order_by,
636 default_value.result_index,
637 {
638 MAA_VISION_NS::ResultOrderBy::Horizontal,
639 MAA_VISION_NS::ResultOrderBy::Vertical,
640 MAA_VISION_NS::ResultOrderBy::Area,
641 MAA_VISION_NS::ResultOrderBy::Length,
642 MAA_VISION_NS::ResultOrderBy::Random,
643 MAA_VISION_NS::ResultOrderBy::Expected,
644 })) {
645 LogError << "failed to parse_order_of_result" << VAR(input);
646 return false;
647 }
648
649 if (!get_and_check_value(input, "model", output.model, default_value.model)) {
650 LogError << "failed to get_and_check_value model" << VAR(input);
651 return false;
652 }
653
654 if (!get_and_check_value(input, "only_rec", output.only_rec, default_value.only_rec)) {
655 LogError << "failed to get_and_check_value only_rec" << VAR(input);
656 return false;
657 }
658
659 std::vector<std::string> u8_text;
660 std::vector<std::string> u8_default_text;
661 std::ranges::transform(default_value.expected, std::back_inserter(u8_default_text), from_u16);
662
663 if (input.exists("expected")) {
664 if (!get_and_check_value_or_array(input, "expected", u8_text, u8_default_text)) {
665 LogError << "failed to get_and_check_value_or_array expected" << VAR(input);
666 return false;
667 }
668 }
669 // 已废弃字段,兼容一下
670 else if (input.exists("text")) {
671 if (!get_and_check_value_or_array(input, "text", u8_text, u8_default_text)) {
672 LogError << "failed to get_and_check_value_or_array text" << VAR(input);
673 return false;
674 }
675 }
676 else {
677 u8_text = u8_default_text;
678 }

Callers

nothing calls this directly

Calls 3

clearMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected