随笔 - 304  文章 - 0  评论 - 35  阅读 - 18万

CTW1500数据集介绍

官网

https://ctwdataset.github.io/

数据标注格式

每行共32个数字,前四个数字为该弯曲文本在整张图上的矩形框坐标值,剩下的28个值为14个点,为相对于矩形框左上角得误差补偿即为与左上角坐标所形成的差值,形成封闭的弯曲文本框,其计算方式可以简单的理解为:

1.将前4个坐标值的矩形框从原图中截取出来

2.在截取之后的图中取14个点的坐标值
————————————————
版权声明:本文为CSDN博主「tumi678」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tumi678/article/details/97752544

查看标注结果

# -*- encoding: utf-8 -*-
"""
@date: 2021/3/30 10:43 上午
@author: xuehuiping
"""

from PIL import Image, ImageDraw

label_file_name = '/Users/xuehuiping/data/ctw1500/train/text_label_curve/0005.txt'

img_file_name = '/Users/xuehuiping/data/ctw1500/train/text_image/0005.jpg'

im = Image.open(img_file_name)
draw = ImageDraw.Draw(im)  # 实例化一个对象

lines = open(label_file_name).readlines()
for line in lines:
    # print(line)
    cells = line.strip().split(',')
    tmp = cells[4:]
    xy = []
    for i in range(len(tmp)):
        if i % 2 == 0:
            xy.append(int(tmp[i]) + int(cells[0]))
        else:
            xy.append(int(tmp[i]) + int(cells[1]))
    # print(xy)
    draw.polygon(
        xy, fill=(0, 255, 0))

im.show()

数据举例

posted on   宋岳庭  阅读(3585)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示