当前位置:编程学习 > C#/ASP.NET >>

超高难度问题 识别字符画

字符画是一些文字或者图案,这些字符画都放在一个边框之内,但是位置不固定,而且还有干扰,在回答过程中能选择刷新5次图片,刷新过程中图片位置、颜色或者字符会发生变化。需要识别出图片中的内容(图片底部两行文字是识别提示),并返回结果。
比如下面这样的图片



我能将这个图存到txt中去,也能制作每个字符对应的ANSI颜色矩阵。
举例如下
∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
∽## @           & *%%    &@    #   @ &  &      &       % @     %    & ∽
∽  * %%  # *   #  **  %&#     &%# *      #     &   *     *&@*  &      ∽
∽ # @*  ##    *&&  # &  %* *@  &   *    @  &  &        # *#%&   *  *  ∽
∽  #  *   %   #&  @*&* @*  &    %&&    # #      #*%#  *     @% *  #   ∽
∽   @     & @  *            &    # % #%           *      % *# #       ∽
∽  &  &  &&        *%   *   %&@    * # @# &     %   #          @@ %   ∽
∽     &  @    #%   * %% #  % @&@*    * *    &    # %&    #  *   &&    ∽
∽#   @  *& @ @     %*  &       @  &   &   *   *    # @         &      ∽
∽ &%   ##  @  #%&  @ %     #  %      * %    *     * @    * #   *   @# ∽
∽     #   &&    *    #%  ## # * & ##  %    @%   % %*    %     & %#    ∽
∽  #   @*      *&          *        @* %&  @           %@ %   @    #% ∽
∽ #     @* %@ & @@ & % #      *  @ %    %   @    & @#*%  &   @      % ∽
∽ *#   #  * @%  *  * @  @  %   &  %   *      *% # *@#@ ###*  *        ∽
∽ *  &* % %    *@ % *   *    *     &%   #@      & &&   @ @    #*%  %  ∽
∽         &  % %     &#*   &  & #     &@     #   %&&#  #   %   @  @   ∽
∽    &*@*&          %   *&      *    @@    *&%  @ &&&& %&#&    # % @% ∽
∽     @& &      #  *# %% * #      * # &  # &&&&&  &&&&&@     # %#     ∽
∽#&&  %#      @  %   #  #%@&           *   &&&&& @&&&&&   #    @      ∽
∽   # *  *   * * & @   &  &*    #&  *@  && &&&&& *&&&&&&      @ &&&   ∽
∽%%        @##& &    @ *     %    %%#& #&& &&&&&& &&&&&&@@&&&&& &&&&  ∽
∽&  &@ %   #*  @      @@   #      @  ##&&&%&&&&&   &&&&&   &&&&  &&&  ∽
∽%#  &#&  & #%    *&@%  *      @  *  %&&&&*&&&&& *@  % &&  &&&&   &&  ∽
∽#      @  @     #%%% #   * & #    %* &&&& &&&&&   #&##   &&&&&   * * ∽
∽&  #   & %   &%@*    & @       &   %    @ &&&&&&&&&&&&&&&&&&&   @    ∽
∽ &    ** &         * * @*%#    % @  #     @&&&&&&&&&&&&&&&&&     %   ∽
∽@&&&&&&&&&&&&&&&&&&&&&&&&&@&&&  # *  &  @  &&&&&&&&&&&&&&&&&    % %  ∽
∽ &&&&&&&&&&& & &&%& & #&*& &&&#&       *   @#   #%   @    %*  & %%&* ∽
∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽
[提示 1:日 2:久 3:见 4:人 5:心] (日久见人心)
请用1到5之间的数字进行选择:(如果您要换一个不同的图,请选择0)····································
·    *&   @  ##&  # & & % *       %      *# %        @    @  #      @ ·
· @@@@@@@@@@@@@@@@@ @ @ @@ %           #   * %    %   *@ % @  # %  &  ·
· @&@ @ @@@ @ @#@ @@@* @ @#   @@ #        %%@@@    &   #%#%     %&    ·
· @@ @ @ @ @ @ @ @@@&@&@&@  #  *   &        @@@ ##*# *  % %      @  & ·
·%@@@@@@@@@@@@@@@@@@@@@@@@&* * %%  @     #&%@@@    @& %  %  #     &   ·
· @@@@@@@@@@@@@@@@@@@@@@@@ #&*# &  ** @@@@  @@@@       *    % &       ·
· @@@ @ @@@ @@@@@ @@@ @ @@    %##   @@@@@@  @@@@& %@&  *    %  #  %%  ·
· @# @ @@@ @@@@@ @#@@@ @ @     @   #@*@@@@  @@@@@    *  @@ @  &%   %# ·
· @@ @ @@ @ @@@@@%@ @@@ @@  %%     @@ @@@@ #&@@@@  @@@@&@@@* #%&      ·
·%@ @ @@@  @@@@@ @ @ @@@ @   #    @@@&@@@@%  % #  *@@@@*@@@@%         ·
·@@@ @@@ @ @@@@@@ @ @ @@@@% # @* %@@@@@@@@  &   @* @@@@ #@@   @@   &  ·
·&@ @@@%@ @#@@@@ @ @ @&@@@%    & #    @@@@@@@@@@@@@@@@  @   %   *     ·
· @@@@ @ @ @@@@@ @ @@@@@@@@# #*@      &@@@@@@@@@@@@@@  @ &   & % %    ·
·#@@@@@@@@@@@@@@@@@@@@  &    &  @ #  # #@@@@@@@@@@@@@   &  @ *  @   * ·
· % &&   &  #         @  &  @@           @*  &      &  &   #@ @%%   & ·
· * *   @*   @  &     * *%%@     &   @   *   # % @ @  @     *         ·
·  % @   &&#%       %    %@ * %            &*%  %*     @  @        #@ ·
·    & *   &     *   %  &**   @          %&    & %  %          *  &&  ·
· @   % *#  &     % #%  @ %  * @&@  @ &  &    @&@  % #%       &  %  # ·
· %#  %#@   ## %  @ @ &      ## # & @* # *  *             &   @       ·
·@  @#  @ *#%@ @*   % #&*       #   %    %  #   *         #  # *&% *@ ·
· #  &          *& % & & @#   * &%@   &     #  * # @   #  ##%   %&*&@ ·
·  &@ @   &      * %       @  &  @       * &          # &@@  &      @ ·
·  &*  &@  #   @    &@  *#&  %&# &@  @*  &#  *   %#  *  # #       & @ ·
·      *  #% &   @ &   %@  @  @ @ ** * * @* %    *  @ @     **  *   @ ·
·  *%&#*#* @%# # &   *&   #     %  #  &  %@  &    * %  #@        #  @ ·
· *  @     ##%   @* @    @*   %  %        # #     %  #  % &  *&    #@ ·
····································
[提示 1:日 2:久 3:见 4:人 5:心] (日久见人心)
请用1到5之间的数字进行选择:(如果您要换一个不同的图,请选择0)

需要识别出图中的字符画,比如例子中的就是"心"然后返回。
跪求热心人帮忙!
--------------------编程问答-------------------- txt文件内容贴上来有点变形,弄个截图

另外在传一张其字符的画

--------------------编程问答-------------------- 这也太难了吧   想不出来  --------------------编程问答-------------------- 晕,这是想干嘛~ --------------------编程问答-------------------- 你 这个是MUD吧,好怀念的啊 --------------------编程问答--------------------
我能用程序抓出图片存为TXT,但是不知道该怎么识别,跪求高手帮忙!
--------------------编程问答-------------------- 看这个吧http://baike.baidu.com/view/16629.htm#sub16629 --------------------编程问答--------------------
引用 6 楼 woaizuguo 的回复:
看这个吧http://baike.baidu.com/view/16629.htm#sub16629


晕。。。。。。。。
--------------------编程问答-------------------- 客观来说,这是可以实现的,典型的图像分割和聚类算法。可惜这个问题不是一个帖子可以讨论清楚的。 --------------------编程问答-------------------- 我觉得人眼识别都很困难的话,电脑识别就恼火咯 --------------------编程问答--------------------
引用 8 楼 secretgarden 的回复:
客观来说,这是可以实现的,典型的图像分割和聚类算法。可惜这个问题不是一个帖子可以讨论清楚的。


高手能不能说得清楚点!膜拜!
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 感觉像中文验证码识别!

一直就是一个难题 --------------------编程问答-------------------- --------------------编程问答-------------------- 很难的问题啊,帮忙顶一下,等高手解决。 --------------------编程问答--------------------
引用 13 楼 hch126163 的回复:
感觉像中文验证码识别!

一直就是一个难题


同感,没办法 --------------------编程问答-------------------- 我倒是见过一个专门用图片转换成字符画的软件,你去网上搜索一下 --------------------编程问答-------------------- 让我想起了一门课程:模式识别 --------------------编程问答-------------------- ???我的天,怎么会! --------------------编程问答-------------------- 求个高人来帮帮忙呢!
--------------------编程问答-------------------- 的确很难,人眼都认不出来,采样分析,算法分析的精确度==
而且有些图片不同的角度看过来会呈现出不同的东西来 --------------------编程问答-------------------- 顶  真是很复杂 我还没达到那个水平 努力啊大家
--------------------编程问答-------------------- 最新进展,我已经找到办法去掉多余的干扰,只留下字的部分和另一一团大的干扰部分。
用的方法是分析字符左右是否有超过8个同样的字符,且颜色相同,然后开始从这个字符向周围的坐标取样,
如果分析完了都没有就返回0,换图片,再分析!
现在跪求 取出来的字符该怎么识别?
看看处理出来的效果
第一次去杂:

再次去杂:


--------------------编程问答-------------------- 计算机图像识别的前提需要肉眼提供方法,如果肉眼都看不出来,无法提供方法,计算机就无法识别.至于取出来的字如何识别.最简单的是调用OFFICE2003的OCR组件,复杂点的可以自己用字库去轮廓匹配. --------------------编程问答-------------------- --------------------编程问答-------------------- 没人帮忙么?我用OCR来识别这个,它直接就翻译成星星点点了,原物奉还,我狂晕!
--------------------编程问答-------------------- 既然你已经将它整理出了真实图案,为什不再加上一步按照像素点生成图片,然后调用OCR来进行识别呢(别把OCR想的太智能,直接给他字符图形你是在虐待他)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,