第一步是将图像切成单独的书。
我在Mathematica中的算法是:
img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
做基本的边缘检测&
>删除文字并尝试保留较长的行
edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
,然后删除不需要的水平线
结果不是很好:
我的问题是:
如何改善此效果以获得更好的结果?
有更聪明的方法吗?
我应该进一步处理图像以提高(稍后)OCR阶段的准确性吗?
如何使用颜色信息改善分割效果?
#1 楼
这是研究论文的链接,该论文试图做您想要做的事情。使用图片功能可能会对您有所帮助在youtube上也很酷的视频
评论
$ \ begingroup $
不幸的是,第一个链接已断开。
$ \ endgroup $
– Youngjae
2015年11月12日14:42
#2 楼
您使用哪种方法检测线路?您是否尝试过使用LSD?这是我使用LSD进行的快速测试的结果:
在第一张图片中,我仅显示了带有75至105度之间的角度,且长度大于图像的$ 0.1 *高度$:
:
您可以尝试一下,弄清楚如何选择最佳的线段,将其扩展到线段,并得到比您发布的结果更好的结果。 br />
评论
$ \ begingroup $
“您尝试过尝试LSD吗?”不错的尝试,FBI;)
$ \ endgroup $
–乳香
2012年11月18日在20:51
$ \ begingroup $
Mathematica的ImageLine基于霍夫变换,现在,我确信(主要是从此处的反馈)它可以很好地工作。但是,让我感到困扰的是,当我转换为灰度图像时,我失去了相关数据,并且在此应用中,颜色数据可以(直观地)帮助强大的边缘检测器。 (对于史蒂夫·乔布斯来说,效果非常好!;-)
$ \ endgroup $
– Oren Pinsky
2012年11月19日在2:16
$ \ begingroup $
我见过一个朋友使用LSD进行门检测,我认为他最终对结果感到满意。我会说值得一试:D
$ \ endgroup $
–佩内洛普
2012年11月19日在9:55
#3 楼
您可以尝试对单个颜色域进行边缘检测,然后使用您选择的边缘检测方法合并它们。与直接在彩色图像上进行边缘检测相比,它可能会产生更好的结果。 />
#4 楼
可能会发现isrish提供的断开链接中的文章,结合了图像和文本功能:移动图书书脊识别的一种混合方法,Proc。第19届ACM多媒体国际会议,2011年。您还可以查阅David Chen等人的其他论文,例如使用Proc。 SPIE2010。
评论
@OrenPinsky我看不到分割问题:“假书区域”的数量不高(我在您提供的示例中只能看到一个),并且如果您打算做某种文本识别,下一步,应该足以区分书籍(区域有文字)和非书籍(无文字)@OrenPinsky,我想说您的结果非常好。 :)