如何把在屏幕上写出的多个字的笔迹拆成各个字?一个人在屏幕上写了多个字,如果靠人是很容易辨别是哪几个字的;但是如果让电脑去做(只需辨别出有几个字,不用辨别是什么字),它该怎么做呢?这可能是个和人工智能有关的问题。注意:在屏幕上写的字在程序中是以像素点的形式记录的。希望大家出谋划策。多提供算法,有程序就更好了。
对给出建议者,将送上我的拆字源程序共同探讨。

解决方案 »

  1.   

    我的基本思路是把写入的笔迹以笔画为单位保存,每当写入一个笔画,
    if(该笔画在上一个字的势力范围内) {
        将该笔画加入上一个字;
    }else{
        将该笔画放入一个数组;
        if(该数组満了) {
            产生一个新字;
            将该数组中的第一个笔画放入新字;
            for(该数组中余下的每一个笔画,从后往前) {
                if(该笔画在新字中) {
                    将该笔画及之前的笔画加入新字;
                }
            }
        }
    }
      

  2.   

    非常感谢 nuaazwg(潇湘浪客) 使用我的程序并提出建议。
    回答如下:不知道你是怎么判断“该笔画在上一个字的势力范围内”?
    根据上一个字的高度和宽度,让它们各自以一定的比例向外扩展一些。我觉得应该将文字的大小还是要限定一下。
    我觉得最好即能写大字,也能写小字比比较好。
      

  3.   

    [email protected]我有兴趣。。给我发一个
      

  4.   

    kenryHuang(冷的时候我想死) ,程序我已经寄给你了。
      

  5.   

    谢谢 iicup(双杯献酒)和fz_zhou(vcfan) 建议。fz_zhou(vcfan)的话很对。其实,这个标准的精确内容我并没有全面考虑。不过我想有一个是最基本的:人觉得是哪几个字电脑就应把它拆成哪几个字,至于人也不能区分的情况,就让电脑自己决定。越符合这个基本标准越好。至于具体的规律,我希望大家能提出一些,我也不是很明确。
    我写的程序是为了及时验证找到的规律。再澄清一下问题本身:
    1、字是手写的;
    2、字的大小是不写的;
      

  6.   

    可否考虑各字间的时间间隔。
    [email protected]
      

  7.   

    可以的话,要份源码看看.
    [email protected]
      

  8.   

    我的方向是手写汉字识别,共同学习[email protected]