Image processing 基于opencv的分词

Image processing 基于opencv的分词,image-processing,opencv,image-segmentation,Image Processing,Opencv,Image Segmentation,我正在处理一些扫描的文本图像,我需要突出显示该图像中的所有单词。我知道这个问题相当于查找周围有额外空格的子图像 OCR无法使用,我只需要用边框勾勒出每个单词的轮廓。 有人可以建议如何使用OpenCV来实现这一点吗 我试过阅读有关阈值和分割的内容。我只是想找人给我指一些相关的材料。我想你的图像有多行文字。在这种情况下,首先要做的是检测这些线 为此,首先使用大津方法或自适应阈值对图像进行二值化。 然后,您可以使用所谓的“水平直方图”。它就像一个直方图本身,但显示哪里有直线,哪里有空格。因此,在空白行

我正在处理一些扫描的文本图像,我需要突出显示该图像中的所有单词。我知道这个问题相当于查找周围有额外空格的子图像

OCR无法使用,我只需要用边框勾勒出每个单词的轮廓。 有人可以建议如何使用OpenCV来实现这一点吗


我试过阅读有关阈值和分割的内容。我只是想找人给我指一些相关的材料。

我想你的图像有多行文字。在这种情况下,首先要做的是检测这些线

为此,首先使用大津方法或自适应阈值对图像进行二值化。

然后,您可以使用所谓的“水平直方图”。它就像一个直方图本身,但显示哪里有直线,哪里有空格。因此,在空白行中划分图像,然后得到每一行。下面是水平直方图的图像

现在,找到每一行的水平直方图。在这之前,试着做一些膨胀和侵蚀,这样所有的字母都可以组合在一起。然后,您可以在每行上找到连接的组件,以获得每个单词。然后画边界

下图显示了水平和垂直直方图:


这个软件可能会有帮助:

我试过阅读有关阈值和分割的内容。我只是想找人给我指出相关的材料,而不是一些代码。谢谢你的回复。我正在实现你的建议。为了计算直方图,我曾尝试使用OpenCV的calcHist方法,但该方法返回一个直方图,其中每个强度值都映射到具有该强度的像素数。您能否建议我如何获得上面图像中所示的水平直方图。OpenCV中是否有与此相关的内容,或者我是否应该自己实现一些内容。我尝试了通过对每行像素值求和显示的直方图。这是正确的方法吗?是的,第二条评论是正确的。将每行/每列中的像素值相加,得到直方图。这不是calcHist函数中的直方图。您好。我能够分割图像。您能推荐一种检测两个单词图像是否相似的好方法吗?我正在尝试使用SIFT和BFMatcher,但在这种情况下似乎效果不太好。@AbidRahmanK在计算像素和之前,您是先对图像进行二值化,还是只对图像的像素和进行二值化灰色图像?