RicardoM.Lu1 2023-03-13 17:43 采纳率: 80%
浏览 38
已结题

在学习python时遇到问题

在学习python时出现了问题。

if __name__ == "__main__":
    img = cv2.imread("test_imgs/4.jpg")
    ocr_recognition = OCRRecognition()
    dbnet_det = DbNetInfer()
    certs = BusinessCerts(img, dbnet_det, ocr_recognition)
    for index, i in enumerate(certs.box_result):
        print(index, i)
    certs.ocr_pipline()

我现在想要批量读取图片而不是用一张,那么cv2.imread要修改成什么呢。(读取之后的数据类型不可以改变因为要交给模型处理)

我的目的是从指定的文件夹批量读取图片,并且读取出来的数据类型和cv2.imread要一致

  • 写回答

6条回答 默认 最新

  • CSDN专家-showbo 2023-03-13 17:54
    关注

    os.listdir列出test_imgs目录下的图片,依次遍历用cv2.imgread读取处理什么的

    import os
    
    if __name__ == "__main__":
        images=os.listdir('test_imgs')
        for img in images:
            img = cv2.imread("test_imgs/"+img)
            ocr_recognition = OCRRecognition()
            dbnet_det = DbNetInfer()
            certs = BusinessCerts(img, dbnet_det, ocr_recognition)
            for index, i in enumerate(certs.box_result):
                print(index, i)
            certs.ocr_pipline()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • MarkHan_ 2023-03-13 17:56
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    你可以使用Python的os模块来遍历指定文件夹中的所有图片文件,然后逐个读取处理。以下是一份示例代码:

    import os
    import cv2
    
    if __name__ == "__main__":
        # 指定图片文件夹路径
        img_folder = "test_imgs"
        
        # 遍历文件夹中所有图片文件
        for filename in os.listdir(img_folder):
            if filename.endswith(".jpg") or filename.endswith(".png"):
                # 读取图片并进行处理
                img_path = os.path.join(img_folder, filename)
                img = cv2.imread(img_path)
                ocr_recognition = OCRRecognition()
                dbnet_det = DbNetInfer()
                certs = BusinessCerts(img, dbnet_det, ocr_recognition)
                for index, i in enumerate(certs.box_result):
                    print(index, i)
                certs.ocr_pipline()
    
    
    

    在这份示例代码中,使用了os.listdir方法来遍历指定文件夹中的所有文件,然后使用endswith方法来筛选出所有以".jpg"或".png"为后缀的文件。读取图片的方式和你的示例代码一样,只是将读取的代码放在了循环中,这样就可以批量处理多张图片了。

    评论
  • dahe0825 2023-03-13 18:00
    关注

    参考GPT和自己的思路,如果你想要批量读取图片,可以使用Python的glob模块来获取指定文件夹下的所有图片文件,然后循环读取每个文件并进行处理。下面是一个示例代码:

    import cv2
    import glob
    
    if __name__ == "__main__":
        img_folder = "test_imgs/*.jpg"
        ocr_recognition = OCRRecognition()
        dbnet_det = DbNetInfer()
    
        for img_path in glob.glob(img_folder):
            img = cv2.imread(img_path)
            certs = BusinessCerts(img, dbnet_det, ocr_recognition)
            for index, i in enumerate(certs.box_result):
                print(index, i)
            certs.ocr_pipline()
    

    在这个示例中,img_folder变量包含了文件夹路径和通配符*来匹配所有的jpg格式的图片文件。然后使用glob.glob()函数获取所有的文件路径,循环读取每个图片并进行处理。

    评论
  • 阳光宅男xxb 2023-03-13 17:56
    关注

    该方法一次只能读取一张图片,根据你的需求,应该是先读取指定文件夹下的图片,然后每读取到一张图,进行一次处理。

    评论
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-13 20:16
    关注
    评论
  • 有问必答小助手 2023-03-14 09:51
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月14日
  • 已采纳回答 3月14日
  • 创建了问题 3月13日

悬赏问题

  • ¥15 java为什么这个按钮监听事件不触发
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据