上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: 李恒道 - 

【opencv练习】青果课程表文字提取(二)

[复制链接]
  • TA的每日心情
    擦汗
    2024-12-18 11:32
  • 签到天数: 194 天

    [LV.7]常住居民III

    723

    主题

    6097

    回帖

    6874

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6874

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-12-9 00:17:34 | 显示全部楼层 | 阅读模式

    调试发现用了canny反而不好,直接跑findContours可以识别出来全部内容
    image.png
    我们可以利用面积进行过滤
    复合面积的方块取左上和右下进行ocr
    先取点画出来看看

    for i in range(len(contours)): 
        area = cv2.contourArea(contours[i]) 
        if area > 500:
            x, y, w, h = cv2.boundingRect(contours[i])
            top_left = (x, y)
            bottom_right = (x + w, y + h)
            cv2.rectangle(originImage, top_left, bottom_right, (0, 0, 255), 2)

    image.png
    然后就是跑ocr的问题了
    根据测试pytesseract 的效果并不是特别好
    反而百度的paddle识别效果还不错
    https://paddlepaddle.github.io/PaddleOCR/latest/ppocr/visualization.html#_3
    直接初始化一下

    from paddleocr import PaddleOCR
    logging.disable(logging.DEBUG)
    ocr = PaddleOCR(use_angle_cls=True, lang='ch')

    然后在获取方块的时候得到ori图片进行ocr识别

            text = ""
            for line in result: 
                if line is not None:
                    for word_info in line: 
                        text += word_info[1][0] 

    image.png
    可以发现图片内的内容都能一一对上
    既有坐标又有文字
    剩下的只是编码部分了
    有心情再写吧
    缅怀小米课程表
    实际小米的处理肯定比我操作的更为复杂
    一通操作下来只是怀念
    既是怀念曾经的小米,也是纪念那个还热泪盈眶又笨笨的自己

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情

    3 小时前
  • 签到天数: 793 天

    [LV.10]以坛为家III

    30

    主题

    340

    回帖

    1200

    积分

    荣誉开发者

    积分
    1200

    油中2周年生态建设者油中3周年荣誉开发者

    发表于 2024-12-9 10:02:55 | 显示全部楼层
    pytesseract 简直就是垃圾,我调用他识别验证码,成功率低得很,后来直接用了百度的api,但是又发现百度的api不如腾讯的准确率高
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-12-18 11:32
  • 签到天数: 194 天

    [LV.7]常住居民III

    723

    主题

    6097

    回帖

    6874

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6874

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-12-9 16:39:52 | 显示全部楼层
    Su. 发表于 2024-12-9 10:02
    pytesseract 简直就是垃圾,我调用他识别验证码,成功率低得很,后来直接用了百度的api,但是又发现百度的a ...

    我用的百度本地模型,可以白嫖还好
    腾讯好像没发布开源的
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情

    3 小时前
  • 签到天数: 793 天

    [LV.10]以坛为家III

    30

    主题

    340

    回帖

    1200

    积分

    荣誉开发者

    积分
    1200

    油中2周年生态建设者油中3周年荣誉开发者

    发表于 2024-12-9 20:20:32 | 显示全部楼层
    李恒道 发表于 2024-12-9 16:39
    我用的百度本地模型,可以白嫖还好
    腾讯好像没发布开源的

    不晓得,因为是自己用,所以就直接调的api,一个月免费1000次,够我用了,腾讯,百度都是一千次,阿里是200次
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表