仪器整理任务#1 词条识别
LmeSzinc opened this issue · 0 comments
仪器整理功能的拆分小任务
- 通过opencv操作,给出词条名称和数值的位置
- 增加词条模板图片,使用模板匹配识别词条名称
- 对数值部分进行单行ocr
群聊天记录
吕明珠LmeSzinc在轻轨 2024/7/8 23:45:29
继续之前的话题
吕明珠LmeSzinc在轻轨 2024/7/8 23:46:44
我之前跟那些整理视频,跟着手动操作了一次
吕明珠LmeSzinc在轻轨 2024/7/8 23:48:12
发现他们给的整理条件实际非常复杂,游戏内分解的副词条筛选可能要排列组合筛很多次才能达到目的
吕明珠LmeSzinc在轻轨 2024/7/8 23:51:12
我的想法是,在库存界面仅筛套装,然后挨个扫描,标记废弃
吕明珠LmeSzinc在轻轨 2024/7/8 23:52:14
这样有了词条之后,用程序内的条件判断,方便实现复杂逻辑
吕明珠LmeSzinc在轻轨 2024/7/8 23:56:50
所以下一步的第一个小任务就是,识别这个界面
吕明珠LmeSzinc在轻轨 2024/7/8 23:58:09
这里场景单一,就可以进行优化
吕明珠LmeSzinc在轻轨 2024/7/9 0:00:33
首先就是ocr不能使用det模型,仅对单行文字rec,det用opencv去实现
吕明珠LmeSzinc在轻轨 2024/7/9 0:02:25
背景很干净嘛,所以 (图片) - (高斯模糊后的图片),opencv闭操作,就能把文字框出来了
吕明珠LmeSzinc在轻轨 2024/7/9 0:04:27
然后词条的名称其实是固定的,用模板匹配
吕明珠LmeSzinc在轻轨 2024/7/9 0:05:09
就是把“暴击伤害”几个字作为图片去识别,而不是通过ocr
吕明珠LmeSzinc在轻轨 2024/7/9 0:07:19
普通opencv操作大概比ocr快1到两个数量级,所以要快就要尽量避免ocr
hex((lambda: 0xEE0000)()) 2024/7/9 0:07:39
数字直接findContours分割,对每一位模板匹配
Antecanis 2024/7/9 0:08:28
6
如来 2024/7/9 0:08:35
有一种手动实现ocr的感觉(
hex((lambda: 0xEE0000)()) 2024/7/9 0:09:14
对于不同字号的相同字体,用同一组模板,缩放一下图片就行,缩放比例跑个循环就能看出来
蠹翔子 2024/7/9 0:09:37
还需要数值部分?
蠹翔子 2024/7/9 0:09:45
强化流程都放到src吗
吕明珠LmeSzinc在轻轨 2024/7/9 0:09:51
我是不希望切字的,ocr对单行的鲁棒性其实非常高
吕明珠LmeSzinc在轻轨 2024/7/9 0:10:59
切字我已经可以预想到未来会有一堆切不干净,切完了匹配成另一个字的事情
因为图片不是无损的
hex((lambda: 0xEE0000)()) 2024/7/9 0:11:05
数字每一位自己都连在一起,切起来没问题;汉字就没法切了
吕明珠LmeSzinc在轻轨 2024/7/9 0:12:00
对,只是看词条筛胚子的话,数值部分都不需要
吕明珠LmeSzinc在轻轨 2024/7/9 0:13:21
这是第一个任务了