相关疑难解决方法(0)

如何将图像转换为字符段?

通常在OCR的过程中,图像文件基本上被切割成段,并且每个字符被重新称为段.例如,未分段的文本作为图像

必须转变成类似的东西 文本已被分段并准备好进行OCR的图像

此外,是否有像泰卢固语这样的亚洲语言的算法可以用于此目的?如果没有,这对英语怎么办?

ocr matlab opencv computer-vision image-segmentation

15
推荐指数
1
解决办法
9778
查看次数

从图像中分割字符

我在分割下面的车牌图像时面临问题,而对下面的图像进行阈值处理时,字符被分成多于1个字符.所以我得到了错误的OCR结果.我在对图像进行阈值处理后应用了形态学关闭操作,即使在此之后我也无法正确分割字符.

车牌图片1

车牌图片2

车牌图片3

车牌图片4

用于分割上面图像的代码如下

#include <iostream>
#include<cv.h>
#include<highgui.h>

using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
  IplImage *img1 = cvLoadImage(argv[1] , 0);
  IplImage *img2 = cvCloneImage(img1);

  cvNamedWindow("Orig"); 
  cvShowImage("Orig",img1);
  cvWaitKey(0);

  int wind = img1->height;
  if (wind % 2 == 0) wind += 1;

  cvAdaptiveThreshold(img1, img1, 255, CV_ADAPTIVE_THRESH_GAUSSIAN_C,
                      CV_THRESH_BINARY_INV, wind);

  IplImage* temp = cvCloneImage(img1);

  cvNamedWindow("Thre"); 
  cvShowImage("Thre",img1);
  cvWaitKey(0);

  IplConvKernel* kernal = cvCreateStructuringElementEx(3, 3, 1, 1,
                                                       CV_SHAPE_RECT,NULL);

  cvMorphologyEx(img1, img1, temp, kernal, CV_MOP_CLOSE, 1);

  cvNamedWindow("close"); 
  cvShowImage("close",img1);

  cvWaitKey(0);
}
Run Code Online (Sandbox Code Playgroud)

下面给出的输出图像..

UY和2未正确分段

U,P,Y和2未正确分段

U 3 Y 2和5未正确分段

任何人都可以提供一种很好的方法来分割这些图像中的字符......

opencv image image-processing computer-vision

6
推荐指数
1
解决办法
7724
查看次数