首页 > 解决方案 > 检查字典是否存在于字符串中

问题描述

我的字典是向量字符串,长字符串可能包含字典中的文本或不包含文本。我的工作是查找字典中的哪些文本以长文本存在。但问题是必须快。这意味着我无法检查字典中的每个文本。

cv::Mat query_descs = extract_features(inputText, listKeyWrongChar);
Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(DescriptorMatcher::FLANNBASED);
std::vector< std::vector<DMatch> > knn_matches;
matcher->knnMatch(query_descs, dataWrongWords, knn_matches, 50);
for (size_t k = 0; k < knn_matches.size(); k++)
{
    for (int j = 0; j < 50; j++) {
        string prefecture_ = wrongWords[knn_matches[k][j].trainIdx];
        listResult.push_back(prefecture_);
    }
}

我使用的解决方案是 DescriptorMatcher:

它有许多错误的单词的问题。有时我需要50个字。

谁能帮我解决这个问题?

标签: c++dictionaryopencv

解决方案


似乎Trie是一个很好的解决方案。调查时间处理似乎比我的解决方案更快


推荐阅读