fix: fix roi out of range

This commit is contained in:
Horror Proton
2022-11-25 22:56:58 +08:00
parent 0c3381960d
commit e491716734
2 changed files with 4 additions and 2 deletions

View File

@@ -657,7 +657,8 @@ bool asst::BattleProcessTask::try_possible_skill(const cv::Mat& image)
if (info.info.skill_usage != BattleSkillUsage::Possibly && info.info.skill_usage != BattleSkillUsage::Once) {
continue;
}
const auto roi = make_rect<cv::Rect>(Rect { info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move));
auto roi = make_rect<cv::Rect>(Rect { info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move));
roi &= cv::Rect(0, 0, image.cols, image.rows);
const auto result = find_skill_ready(image(roi), temp);
if (result.empty()) continue;

View File

@@ -917,7 +917,8 @@ bool asst::RoguelikeBattleTaskPlugin::try_possible_skill(const cv::Mat& image)
}
const Point pos = m_normal_tile_info.at(loc).pos;
const Rect pos_rect(pos.x, pos.y, 1, 1);
const auto roi = make_rect<cv::Rect>(pos_rect.move(skill_roi_move));
auto roi = make_rect<cv::Rect>(pos_rect.move(skill_roi_move));
roi &= cv::Rect(0, 0, image.cols, image.rows);
auto result = find_skill_ready(image(roi), temp);
if (result.empty()) continue;