使用opencv c#检测图像中的文本块
Posted
技术标签:
【中文标题】使用opencv c#检测图像中的文本块【英文标题】:Detecting text blocks in images using opencv c# 【发布时间】:2017-01-02 19:18:53 【问题描述】:您好,我想从图像中提取文本块并将其传递给 ocr 以获得更好的准确性。我一直在互联网上搜索,但找不到合适的例子。我对这个概念很陌生,有人可以帮助我吗?
这就是我想要实现的。 注意我将 EMGUCV 用于 opencv 和 ocr。 我主要想扫描收据。 如果你能提供帮助,那就太好了。
【问题讨论】:
Split text lines in scanned document的可能重复 也看this 【参考方案1】:您的文字总是在同一个位置吗?如果是,您将获得感兴趣区域的位置。
//Create the rectangle
cv::Rect roi(0, 0, 500, 500);
//Create the cv::Mat with the ROI you need
cv::Mat imageRoi = image(roi)
然后你可以把这张图片发送到ocr
【讨论】:
嗨不,它不会在确切的位置。我想使用 ocr 扫描收据。 你有什么例子吗? 这可能对你有帮助:link1link2 我已经查看了这些链接。因为我是新人。我无法为 c# 移植该代码。你能帮我解决这个问题吗?【参考方案2】:您可以将图像阈值化为二进制图像。之后,您可以使用形态学操作“DILATE”(重复)加入字母。当字母加入我们的“findContours()”函数来提取轮廓和它的边界男孩。
【讨论】:
以上是关于使用opencv c#检测图像中的文本块的主要内容,如果未能解决你的问题,请参考以下文章
学习 opencv---(11)OpenC 边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器