首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
图形处理/算法
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
字母细化后怎么跟保存的版本(已细化)比较,注意细化后是不可能完全一致的。
[已结贴,结贴人:ljooo]
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
揭贴率:
100.00%
发表于:
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
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
linglongyouzhi
等级:
可用分等级:
中农
总技术分:
909
总技术分排名:
21950
发表于:
2008-08-19 19:55:03
1
楼 得分:
40
细化方法用形态学方法试试
识别的问题可以考虑一下用神经网络或svm这类方法
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
发表于:
2008-08-20 10:04:23
2
楼 得分:
0
你回答太简单了或者太专业了。我做这个项目之前没有任何图像编程的知识,现在不够时间学习学习复杂的识别算法。
由于时间关系,我还是想用目前的方法识别,但怎样计算误差是个问题,我找不到具体的资料。
原来是一条有3-5个像素厚的直线,细化后变成1直线 2,各不一样的波浪线或有毛刺的线。更多是出现情况2.细化后的线条是有大致的方向的,比较的时候本来应该加进去,但因为更多的是波浪线或有毛刺的线,难以计算方向。
网上的资料提到计算误差是用欧氏距离,但要选取什么点和怎样计算呢?
比如原点(2,3),在模板点(2,3)完全匹配,原点(2,4)与模板点(2,4)不匹配,但它与模板点(2,3)匹配,结果就是一个点可能有多个点可以近似匹配。要怎样配对?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
发表于:
2008-08-29 09:09:53
3
楼 得分:
0
这些是模式识别里的简单问题,只能自己解决了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
laoma_hbu
等级:
可用分等级:
富农
总技术分:
2923
总技术分排名:
7177
发表于:
2008-08-29 11:28:56
4
楼 得分:
30
我觉的单纯用模板匹配识别率很难达到实用要求,加上用摄像头拍摄的图像,效果估计不会太好。应该考虑多采用一些特征
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
发表于:
2008-09-02 11:51:52
5
楼 得分:
0
我自己想了几个不同模板匹配识别方法,一起使用,识别率已经达到了95%。我自己想的这些方法不可能比别人的好,特别是书上的,但我不知道他们是怎么做的,书上就几条让人看不懂的公式。有些方法,取一些关键点进行比较,但对于黑色像素个数很少字母,感觉每个像素都是关键点。
就说区域阈值,可能叫多阈值,因为关线不平均,我程序里面要用到,但我不知道别人是怎么实现的,我找了很多篇文章,都只有公式和理论。
我用的方法是分割成10×10块,求出每块的阈值,再用高斯模板平均,效果还算可以,但远没有达到理想的地方。
当光线很不均匀时,用全局阈值只能分割出50%的字母,用我上面说的那种方法,可以达到90%,但我希望达到的是99%。很多人在做,别人肯定是做到的,问题是我不知道他们的算法和实现的代码。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
laoma_hbu
等级:
可用分等级:
富农
总技术分:
2923
总技术分排名:
7177
发表于:
2008-09-02 12:51:25
6
楼 得分:
60
分块是一种方法,不过块与块之间的交接处可能效果不太好吧。对于光照不均的可以采用局部阈值算法试试,Niblack二值化算法一般效果不错
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
vcPlayer
没有星星,努力做太阳!
等级:
可用分等级:
掌柜
总技术分:
8508
总技术分排名:
2295
发表于:
2008-09-02 13:15:20
7
楼 得分:
40
调整阈值,尽量减少二值图像的噪声,然后再细化。你用的细化算法还是比较好的,但细节肯定要额外处理。
如果模板匹配确实太复杂,可以考虑用矢量图。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
发表于:
2008-09-02 15:48:49
8
楼 得分:
0
ThiningDIB考虑到周围5×5的分布,而ThinnerHilditch,ThinnerPavlidis,ThinnerRosenfeld,ThiningDIBSkeleton好想都只考虑到3×3的情况,所以没有那么稳定。
那个10×10的阈值矩阵我用高斯模板平均后,减少了交接处的差别。
如果总共有5个步骤,最终要达到99%的成功率,那么每一个步骤处理的有效率得99.5%以上,要求太高了。
为了区分两个字母,得专门为它写一个函数,真是麻烦,比如为了准确区别0和Q(Q细化后尾巴可能不见了),得计算他们的空洞数量。
觉得数字图像处理专业性很强,很需要经验。大部分代码写的时候都不知道有没有改进,感觉就在做实验,花了时间写完后总是失望,到现在都快绝望了。这一个多月我删掉一万多行的代码了。我刚才在当当买了几本这方面书,希望看完后能有质的变化改进。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
vcPlayer
没有星星,努力做太阳!
等级:
可用分等级:
掌柜
总技术分:
8508
总技术分排名:
2295
发表于:
2008-09-02 16:58:50
9
楼 得分:
0
呵呵,数字图像要深入进去是非常困难的。我们只能在表面应用一下,真正的核心在于数学!
模式识别中牵涉到的基本都是算法,比如什么神经元、遗传……。如果自己一个人搞的话,是非常困难的。窃以为,数字图像的格式应该做相应的调整了,要不主目前以矩阵的观念来看,时间和空间都耗不起。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
laoma_hbu
等级:
可用分等级:
富农
总技术分:
2923
总技术分排名:
7177
发表于:
2008-09-02 23:22:59
10
楼 得分:
0
现在的识别程序都非常耗时,而且想让计算机理解图像太复杂了,确实有必要改进图像的表示方法,期待牛人的出现
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
oo_v_oo
哈哈人生
等级:
可用分等级:
中农
总技术分:
1571
总技术分排名:
15627
发表于:
2008-09-03 07:14:06
11
楼 得分:
30
不会走路,跑起来肯定要跌倒
基础不牢地动山摇
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ljooo
等级:
可用分等级:
贫农
总技术分:
96
总技术分排名:
92590
发表于:
2008-09-03 18:47:12
12
楼 得分:
0
谢谢大家理解,結了。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友