【发布时间】:2018-02-11 15:47:52
【问题描述】:
我目前正在使用 tesseract 扫描收据。质量不好,所以我读了这篇关于如何改进它的文章:https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality#noise-removal。我实现了调整大小、纠偏(对齐)和高斯模糊。但除了纠偏之外,它们似乎都没有对 OCR 的准确性产生积极影响。这是我调整大小和高斯模糊的代码。我做错什么了吗?如果没有,我还能做些什么来提供帮助?
代码:
+(UIImage *) prepareImage: (UIImage *)image{
//converts UIImage to Mat format
Mat im = cvMatWithImage(image);
//grayscale image
Mat gray;
cvtColor(im, gray, CV_BGR2GRAY);
//deskews text
//did not provide code because I know it works
Mat preprocessed = preprocess2(gray);
double skew = hough_transform(preprocessed, im);
Mat rotated = rot(im,skew* CV_PI/180);
//resize image
Mat scaledImage = scaleImage(rotated, 2);
//Guassian Blur
GaussianBlur(scaledImage, scaledImage, cv::Size(1, 1), 0, 0);
return UIImageFromCVMat(scaledImage);
}
// Organization -> Resizing
Mat scaleImage(Mat mat, double factor){
Mat resizedMat;
double width = mat.cols;
double height = mat.rows;
double aspectRatio = width/height;
resize(mat, resizedMat, cv::Size(width*factor*aspectRatio, height*factor*aspectRatio));
return resizedMat;
}
收据:
【问题讨论】:
-
也许this link 会有所帮助
标签: ios objective-c opencv resize tesseract