You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用类别ID与X中心坐标从YOLO预测结果重构阿拉伯语单词?

基于YOLO的阿拉伯字符检测结果重构RTL单词

需求说明

使用YOLO模型检测图像中的阿拉伯字符后,会输出两个关键列表:

  • classes:预测的类别ID列表(每个ID对应一个阿拉伯字符,比如0 = 'ا',1 = 'ب'等)
  • centers_x:每个检测字符的X中心坐标列表

由于阿拉伯语是**从右到左(RTL)**的书写体系,需要按照以下规则重构完整单词:

  1. 按centers_x从高到低的顺序对字符排序(X坐标越高,对应阿拉伯语单词中阅读顺序越靠前的位置)
  2. 将排序后的类别ID映射为对应阿拉伯字母,拼接成完整单词

示例与实现

给定以下数据:

id_to_char = {0: 'ا', 1: 'ب', 2: 'ت'}
classes = [2, 0, 1]
centers_x = [300, 250, 100]

实现代码

# 1. 将坐标与类别ID配对成元组列表
char_coords = list(zip(centers_x, classes))

# 2. 按X坐标降序排序
char_coords_sorted = sorted(char_coords, key=lambda x: -x[0])

# 3. 映射字符并拼接成单词
arabic_word = ''.join([id_to_char[cls_id] for (x, cls_id) in char_coords_sorted])

print(arabic_word)  # 输出: 'بتا'

逻辑说明

阿拉伯语单词在图像中显示时,最右侧的字符X坐标最大,对应阅读顺序的第一个字符。因此按X坐标降序排序后再映射字符,就能得到符合RTL书写规则的正确单词。

内容的提问来源于stack exchange,提问作者Chaimae Benmakhlouf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:18:10