我是一名学士学生,目前正在做一个使用实时摄像头的光学盲文识别的期末项目。我已经成功地将图像处理为HSV格式,并仅提取HSV图像的值以防止环境光影响图像,执行了二值化阈值,精明的边缘检测,腐蚀和膨胀,仅从相机获得盲文点。
我想问的是,如何在一个问题中执行分割,其中每个点之间的距离总是随着相机向盲文文字移动的更近或更远而改变?
任何帮助都将不胜感激。谢谢
发布于 2013-03-01 01:26:52
要做到这一点,你需要检测一些相对的坐标对,这样你就可以检测到你的图像中盲文书写的“比例”。这可以是文字两端的一对可识别的点,甚至可以是一些特征点。使用缩放,您可以将图像变换为统一大小,具体取决于相机的距离。
发布于 2013-03-01 02:08:13
对于您的问题,没有简单、通用的解决方案。当然,如果我不能立即理解这些盲文字母是如何隔开的,那么用一个简单的算法就不容易解决这个问题。

你最好的办法是阅读有关盲文文本的文献,与你的教授交谈,让盲人向你解释他们是如何阅读盲文的。
除此之外,您必须找到盲文本行的基线,看看它们有何不同,然后运行cvPerspectiveTransform以拉直图像,这样您就可以在不考虑透视的情况下对点进行分割。
发布于 2013-03-01 02:41:06
这个挑战与我在条形码系统中遇到的问题非常相似。我的答案是对我使用的方法的概括描述。
我首先将图像划分为网格,其中一个字符单元可以放在一个网格单元中。这将确保任何字符都适合2x2网格单元格,无论网格如何覆盖图像。
将图像转换为点。通过使用小区域像素的局部识别来识别点。
为每个点分配一个网格单元编号。这应该很简单,比如x/y位置除以32像素单元格((y/32)*(width/32))+(x/32)
保持每个网格单元的点数,当识别出所有的点时,按网格编号对点表进行排序,并根据表中的位移和元素数量建立索引。
如果分辨率不同,请对一些带有许多点的单元格进行采样,以确定单元格对之间的距离。
逐行查看单元格,但使用2x2单元格组检查每个单元格。这样,被测试单元中的任何点都可以保证与配对点(如果存在)相匹配。通过使用网格点,只需要匹配到彼此局部的点,所以虽然图像可能有数千个点,但单个点只需要尝试匹配到1-10个点。
配对点将创建重复项,这可以在匹配时防止,也可以稍后清除。
在这一点上,您需要将点与盲文匹配。水平成对和垂直成对应该能够开始对齐盲文文本。
行对齐后,speck表将旋转为确定的文本对齐方式。将配对放入对齐,然后从配对的位置,通过将配对的网格位置与点表中的未配对的点进行匹配,可以添加未匹配的斑点。
https://stackoverflow.com/questions/15141796
复制相似问题