首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 字母细化后怎么跟保存的版本(已细化)比较,注意细化后是不可能完全一致的。 [已结贴,结贴人:ljooo]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 17:29:10 楼主
    我在做数字字母识别,字母的角度大小(12-50个像素)都不一样。 一开始以为图片是用照相机拍的,后来才知道是用摄像头拍的,成像效果太差了,比较产生的误差非常大。

    如果一个点跟模板的点完全一样,那没有问题。但字母不可能完全一样,实际细化后也较大的差别。
    我现在的做法是

    一个点一个点比较,简单考虑周围9个点
    if 要比较的点跟模板对应的点一样,误差为0,
    else if 要比较的点跟模板的上下左右四个点中至少有一个一样,误差为1,
    else if 要比较的点跟模板的左上 左下 右上 右下 四个点至少有一个一样,误差为2,
    else 误差为4

    但是效果不是很好,比如0和Q,4和A,5和6等差别很少,有时会误识别。
    问题1,要怎么比较才能有更好的效果呢?详细一点。

    细化算法我用的是数字图像编程基础里的ThiningDIB,效果一般。我试过另外四种,ThinnerHilditch,ThinnerPavlidis,ThinnerRosenfeld,ThiningDIBSkeleton,效果极差。
    问题2,请问有更好的细化算法吗?

    还有位置的问题,由于可能有毛刺,位置很难一致,我试过用外接矩形法和质心发计算位置,效果都一般,请问有更好的方法吗?


    200  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linglongyouzhi
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 19:55:031楼 得分:40
    细化方法用形态学方法试试
    识别的问题可以考虑一下用神经网络或svm这类方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 10:04:232楼 得分:0
    你回答太简单了或者太专业了。我做这个项目之前没有任何图像编程的知识,现在不够时间学习学习复杂的识别算法。

    由于时间关系,我还是想用目前的方法识别,但怎样计算误差是个问题,我找不到具体的资料。
    原来是一条有3-5个像素厚的直线,细化后变成1直线  2,各不一样的波浪线或有毛刺的线。更多是出现情况2.细化后的线条是有大致的方向的,比较的时候本来应该加进去,但因为更多的是波浪线或有毛刺的线,难以计算方向。
    网上的资料提到计算误差是用欧氏距离,但要选取什么点和怎样计算呢?
    比如原点(2,3),在模板点(2,3)完全匹配,原点(2,4)与模板点(2,4)不匹配,但它与模板点(2,3)匹配,结果就是一个点可能有多个点可以近似匹配。要怎样配对?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 09:09:533楼 得分:0
    这些是模式识别里的简单问题,只能自己解决了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • laoma_hbu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 11:28:564楼 得分:30
    我觉的单纯用模板匹配识别率很难达到实用要求,加上用摄像头拍摄的图像,效果估计不会太好。应该考虑多采用一些特征
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 11:51:525楼 得分:0
    我自己想了几个不同模板匹配识别方法,一起使用,识别率已经达到了95%。我自己想的这些方法不可能比别人的好,特别是书上的,但我不知道他们是怎么做的,书上就几条让人看不懂的公式。有些方法,取一些关键点进行比较,但对于黑色像素个数很少字母,感觉每个像素都是关键点。

    就说区域阈值,可能叫多阈值,因为关线不平均,我程序里面要用到,但我不知道别人是怎么实现的,我找了很多篇文章,都只有公式和理论。
    我用的方法是分割成10×10块,求出每块的阈值,再用高斯模板平均,效果还算可以,但远没有达到理想的地方。
    当光线很不均匀时,用全局阈值只能分割出50%的字母,用我上面说的那种方法,可以达到90%,但我希望达到的是99%。很多人在做,别人肯定是做到的,问题是我不知道他们的算法和实现的代码。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • laoma_hbu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 12:51:256楼 得分:60
    分块是一种方法,不过块与块之间的交接处可能效果不太好吧。对于光照不均的可以采用局部阈值算法试试,Niblack二值化算法一般效果不错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vcPlayer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 13:15:207楼 得分:40
    调整阈值,尽量减少二值图像的噪声,然后再细化。你用的细化算法还是比较好的,但细节肯定要额外处理。

    如果模板匹配确实太复杂,可以考虑用矢量图。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 15:48:498楼 得分:0
    ThiningDIB考虑到周围5×5的分布,而ThinnerHilditch,ThinnerPavlidis,ThinnerRosenfeld,ThiningDIBSkeleton好想都只考虑到3×3的情况,所以没有那么稳定。
    那个10×10的阈值矩阵我用高斯模板平均后,减少了交接处的差别。
    如果总共有5个步骤,最终要达到99%的成功率,那么每一个步骤处理的有效率得99.5%以上,要求太高了。
    为了区分两个字母,得专门为它写一个函数,真是麻烦,比如为了准确区别0和Q(Q细化后尾巴可能不见了),得计算他们的空洞数量。
    觉得数字图像处理专业性很强,很需要经验。大部分代码写的时候都不知道有没有改进,感觉就在做实验,花了时间写完后总是失望,到现在都快绝望了。这一个多月我删掉一万多行的代码了。我刚才在当当买了几本这方面书,希望看完后能有质的变化改进。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vcPlayer
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 16:58:509楼 得分:0
    呵呵,数字图像要深入进去是非常困难的。我们只能在表面应用一下,真正的核心在于数学!

    模式识别中牵涉到的基本都是算法,比如什么神经元、遗传……。如果自己一个人搞的话,是非常困难的。窃以为,数字图像的格式应该做相应的调整了,要不主目前以矩阵的观念来看,时间和空间都耗不起。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • laoma_hbu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-02 23:22:5910楼 得分:0
    现在的识别程序都非常耗时,而且想让计算机理解图像太复杂了,确实有必要改进图像的表示方法,期待牛人的出现
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oo_v_oo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-03 07:14:0611楼 得分:30
    不会走路,跑起来肯定要跌倒
    基础不牢地动山摇
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ljooo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-03 18:47:1212楼 得分:0
    谢谢大家理解,結了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved