Skip to content

OCR辨識不清 #1

Open
Open
@waterfall531

Description

@waterfall531

在試用了大大的方案之後
我稍稍改裝成適合自己的樣貌
其中可以想要提點建議的部分是
Ocr 便是錯誤的部分

我是改成下列樣式
也是測過大大的App也有類似問題

FYI

def filter_text(result):
    def sub_eng(text):
        # 移除英文字
        return re.sub(u'[A-Za-z]', '', text)

    def replace_text(text):
        replacements = {
            '瘋': '癒',
            '癥': '癒',
            '青': '害',
            '間': '閒',
            '盜': '持',
            '複': '復',
            '睡EXP選勵': '睡眠EXP獎勵',
            '夢之碎片': '夢之碎片獎勵',
            '獃': '呆',
            '保': '傑',
            '鰩': '鱷',
            '幫化辣度S': '幫忙速度S'
        }
        for orig, repl in replacements.items():
            text = text.replace(orig, repl)
        return text

    info = {}
    pre_text = None
    sub_skill_idx = 1

    for _, line in enumerate(result):
        text = line[1][0].strip().upper()
        # print(text)
        text_processed = replace_text(text)
        # print(text_processed)
        combined_text = (pre_text or "") + text_processed

        if sub_eng(text_processed) in pokemons or sub_eng(text) in pokemons:
            info['pokemon'] = sub_eng(text_processed)
        elif text_processed in main_skills or text in main_skills:
            info['main_skill'] = text_processed
        elif text_processed in natures or text in natures:
            info['nature'] = text_processed
        elif text_processed in sub_skills:
            text_processed = mapping.get(text_processed, text_processed)
            info[f'sub_skill_{sub_skill_idx}'] = text_processed
            sub_skill_idx += 1
            pre_text = None
        elif text in sub_skills:
            text = mapping.get(text, text)
            info[f'sub_skill_{sub_skill_idx}'] = text
            sub_skill_idx += 1
            pre_text = None
        elif combined_text == "持有上限提升" or text == "持有上限提升":
            info[f'sub_skill_{sub_skill_idx}'] = "持有上限L"
            sub_skill_idx += 1
            pre_text = None  # 重置 pre_text
        elif combined_text == "持有上眼提是升S" or text == "持有上眼提是升S":
            info[f'sub_skill_{sub_skill_idx}'] = "持有上限S"
            sub_skill_idx += 1
            pre_text = None  # 重置 pre_text
        elif f'持有{text_processed}' in sub_skills:
            info[f'sub_skill_{sub_skill_idx}'] = f'持有{text_processed}'
            sub_skill_idx += 1
        else:
            pre_text = text_processed

    return info

在原有基礎上 改寫了 持有上限提升SL / 夢之碎片...等其他副技能

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions