fix.修复模板匹配ROI不生效的问题

This commit is contained in:
MistEO
2021-10-17 02:14:58 +08:00
parent f79c97ea89
commit d2013626a1

View File

@@ -57,14 +57,15 @@ bool asst::MatchImageAnalyzer::match_templ(const cv::Mat& templ)
{
cv::Mat matched;
cv::Mat image_roi = m_image(utils::make_rect<cv::Rect>(m_roi));
if (m_mask_range.first == m_mask_range.second) {
cv::matchTemplate(m_image, templ, matched, cv::TM_CCOEFF_NORMED);
cv::matchTemplate(image_roi, templ, matched, cv::TM_CCOEFF_NORMED);
}
else {
cv::Mat mask;
cv::cvtColor(templ, mask, cv::COLOR_BGR2GRAY);
cv::threshold(mask, mask, m_mask_range.first, m_mask_range.second, cv::THRESH_BINARY);
cv::matchTemplate(m_image, templ, matched, cv::TM_CCOEFF_NORMED, mask);
cv::matchTemplate(image_roi, templ, matched, cv::TM_CCOEFF_NORMED, mask);
}
double min_val = 0.0, max_val = 0.0;
cv::Point min_loc, max_loc;
@@ -84,8 +85,8 @@ bool asst::MatchImageAnalyzer::match_templ(const cv::Mat& templ)
bool asst::MatchImageAnalyzer::comp_hist(const cv::Mat& hist, const cv::Rect roi)
{
cv::Mat roi_image = m_image(utils::make_rect<cv::Rect>(m_roi))(roi);
double score = 1.0 - cv::compareHist(to_hist(roi_image), hist, cv::HISTCMP_BHATTACHARYYA);
cv::Mat image_roi = m_image(utils::make_rect<cv::Rect>(m_roi))(roi);
double score = 1.0 - cv::compareHist(to_hist(image_roi), hist, cv::HISTCMP_BHATTACHARYYA);
log.trace("comp_hist | score:", score);