我又来提问题了哈哈,图片识别问题
vb吧
全部回复
仅看楼主
level 1
半岛有雨 楼主
这是个图片识别的问题哈
2020年04月08日 02点04分 1
level 1
半岛有雨 楼主
已知我的世界赋魔非得弄个什么神秘的文字系统,如下图所示:
2020年04月08日 02点04分 2
level 1
半岛有雨 楼主
并且知道文字对应关系是这样的
2020年04月08日 02点04分 3
level 1
半岛有雨 楼主
怎么搞一个单按钮的窗体,可以自动抓取游戏界面,锁定文字行,与已知图片对比,给出翻译结果?
2020年04月08日 02点04分 4
level 11
魔文?哈哈哈,有意思
2020年04月08日 02点04分 5
level 11
应该不难。
你的文字大小是固定的、背景色是纯色,应该比较好识别。
建议制作字符模板,与图上字符比对,一致性90%以上就可以认为成功。
2020年04月08日 03点04分 6
另,你三楼的字典字符与二楼是不同的
2020年04月08日 03点04分
@璐村惂鐢ㄦ埛_0748V5Z馃惥 这个好办,其实总结成6X6的矩阵,就不用在乎图片相素对比的问题了
2020年04月08日 03点04分
@半岛有雨 我说的是“字形”,例如那个n,在二楼左边是一短竖,在三楼左边是一点
2020年04月08日 03点04分
@璐村惂鐢ㄦ埛_0748V5Z馃惥 嗯 嗯 游戏里面像素低,圆显示成方块了
2020年04月08日 04点04分
level 1
半岛有雨 楼主
首先第一个问题:截图
有两条路可走
1,整屏截图(这个调用WIN的库很容易实现),再查找文字行;
2,鼠标截图;
很明显第一种自动化程序更高。同时考虑为了下一步好操作,须得是原始位图,而非压缩图片格式。
第二个问题:图片格式
得搞清楚图片格式的存储要求,图片的像素行数、列数、一个像素点的容量都怎么存储,现在还没搞清楚
第三个问题:查找文字行
文字行的底色为棕色或浅紫色,就怕周边有颜色干扰。
我想的办法就是查找最左上角的一个棕色或浅紫色象素,向右向下查找类似色象素数,比如300X60个像素,如果这个区域内棕色或浅紫色像素占比超过80%,就认为是文本区。
第四个问题:查找单个文字
首先文字是多种不同色度的颜色,为了快速识别,得先对图片进行修正,文字改了纯黑,底色改为纯白。单考虑指向框,文本是亮黄,底色是浅紫,那么对图片进行修改:所有黄原色值高于一定数值的改为黑色;所有蓝原色高于一定数值的改为白色。
锁定文字行位置很容易,就看黑色点的位置,两行文字取四个值就够了,第一行顶r11,第一行底r12以及第二行的r21和r22。
第五个问题:翻译
这就涉及一个神秘文字占多少个像素了。我查找某一个黑色区域的长度和宽度的最小值,比如说3,那依次把黑色3X3区域合并为一个也就可以了。然后按列提取文字信息(比如第一行就是提取某列r11-r12之间的点位信息),列为矩阵,将提前设好的26个预置矩阵对比,对得上就替换为英文字母。剩下的怎么输出就EASY了。
2020年04月08日 03点04分 7
1