【发布时间】:2022-12-14 02:25:56
【问题描述】:
我有一个项目,我正在使用 IronOCR 读取由 OpenCVSharp4 定义的区域,但我遇到的问题是 IronOCrs CropRectangle 方法,它使用 System.drawing.rectangle 并且由于某种原因我的 OpenCvSharp.Rect 无法转换为它,我的意思是,当我最终使用 IronOCRs Input.Add(Image, ContentArea) 时,我得到的结果不是预期的。
在代码下方,我附上了代码当前生成的图片。
不要担心 IronOCR 没有得到正确的字母,我相信这与它创建了一个奇怪的盒子和一些字母被切断有关,如果我为裁剪矩形的宽度和高度增大区域,它就会起作用
var Ocr = new IronTesseract();
String[] splitText;
using (var Input = new OcrInput())
{
//OpenCv
OpenCvSharp.Rect rect = new OpenCvSharp.Rect(55, 107, 219, 264);
//IronOCR
Rectangle ContentArea = new Rectangle() { X = rect.TopLeft.X, Y = rect.TopLeft.Y, Height = rect.Height, Width = rect.Width };
CropRectangle r = new CropRectangle(ContentArea);
CordBox.Text = r.Rectangle.ToString();
//OpenCv
resizedMat.Rectangle(rect.TopLeft, rect.BottomRight, Scalar.Blue, 3);
resizedMat.Rectangle(new OpenCvSharp.Point(55, 107), new OpenCvSharp.Point(219, 264), Scalar.Brown, 3);
Cv2.ImShow("resizedMat", resizedMat);
//IronOCR
Input.Add(@"C:\Projects\AnExperiment\WpfApp1\Images\TestSave.PNG", r);
Input.EnhanceResolution();
var Result = Ocr.Read(Input);
ResultBox.Text = Result.Text;
splitText = ResultBox.Text.Split('\n');
}
【问题讨论】:
标签: c# opencv image-processing ocr