import easyocr报错

m0_69411314 2023-05-18 09:39:40

求大神指点报错

代码如下

import easyocr

import os

import re

import pandas as pd

 

class id_card_ocr():

 

    def __init__(self):  # 文件位置

        self.images = r'D:/id_card'   # 需要注意的是,图片文件的名称不能有汉字,否则会报错~

 

    def ocr_reader(self): # 创建ocr对象,识别中英文

        ocr = easyocr.Reader(['ch_sim','en'],gpu=True)

        return ocr

 

    def read_content(self): # 识别图片文字,并遍历

        data = []

        for image in os.listdir(self.images):

            content = self.ocr_reader().readtext(f'{self.images}/{image}',detail=0)

            content = ''.join(content)  # 列表转换为纯文本

            new_content = content.replace(" ", "") # 去除掉空格内容

            print(f'正在识别:{image}')

            name = re.findall(r'名(.*?)性', new_content)

            gender = re.findall(r'别(.*?)民族|民', new_content)

            nation = re.findall(r'族|民族(.*?)出', new_content)

            address = re.findall(r'址(.*?)公', new_content)

            number = re.findall(r'身份号码(\d+)', new_content)

 

            new_name = ''.join(name)

            new_gender = ''.join(gender)

            new_nation = ''.join(nation)

            new_address = ''.join(address)

            new_number = ''.join(number)

            if len(new_number) == 18:  # 判断身份证的位数

                pass

            elif len(new_number) == 17:

                new_number = new_number + "X"

            print(f'完成识别:{image}')

            data.append([new_name, new_gender, new_nation, new_address, new_number])

        print(data)

        return data

 

    def read_to_excel(self):

        df = pd.DataFrame(self.read_content(),columns = ['姓名','性别','民族','地址','身份证号码'])

        print(f'识别结果如下:')

        print(df)

        df.to_excel(r'D:/id_card/识别结果.xlsx',index=False)

        return df


 

if __name__ == '__main__':

    info = id_card_ocr()

    info.read_content()

    info.read_to_excel()

报错如下

S C:\Users\Administrator> & C:/Users/Administrator/AppData/Local/Programs/Python/Python38/python.exe d:/批量识别身份证.py
Traceback (most recent call last):
  File "d:/批量识别身份证.py", line 1, in <module>
    import easyocr
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\easyocr\__init__.py", line 1, in <module>
    from .easyocr import Reader
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\easyocr\easyocr.py", line 3, in <module>
    from .detection import get_detector, get_textbox
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\easyocr\detection.py", line 11, in <module>
    from .craft import CRAFT
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\easyocr\craft.py", line 11, in <module>
    from .model.modules import vgg16_bn, init_weights
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\easyocr\model\modules.py", line 6, in <module>
    from torchvision.models.vgg import model_urls
ImportError: cannot import name 'model_urls' from 'torchvision.models.vgg' (C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\torchvision\models\vgg.py)
PS C:\Users\Administrator>

...全文
611 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,091

社区成员

发帖
与我相关
我的任务
社区描述
在线培训学习经验交流分享、优质课程资源共享。
社区管理员
  • IT课程大本营社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧