最近在测试OCR识别医院清单或收据,由于影像是多页tif,而且需要人工预处理影像,如增加对比度、纠偏或二值化等处理,需要绘制识别区域,有如下问题:
1.在预处理多页tif时,绘制识别区域同时识别文字时,如何调整OCRPage对应RasterImage中的某一页。
现在我处理的方法如下,比较繁琐,有没有好的方式:
加载tif影像并用ImageViewer显示,预处理某一页后,保存影像到本地,使用例子中如下代码重新加载影像然后识别
RasterImage rasterImage = _ocrEngine.RasterCodecsInstance.Load(_fileName, this._imageViewer.Image.Page);
_ocrPage.SetRasterImage(rasterImage);
2.有换行的需要合并一行,有没有现成的办法
3.Leadtools 19 加载影像到RasterImage中和18有点不一样:
using (RasterCodecs codecs = new RasterCodecs())
{
//19版本如下加载,rasterImage中PageCount为多页tif页数
CodecsImageInfo imageInfo = codecs.GetInformation(_fileName, true);
RasterImage rasterImage = codecs.Load(_fileName, imageInfo.BitsPerPixel, CodecsLoadByteOrder.RgbOrGray, imageInfo.PageNumber, imageInfo.TotalPages);
//18版本如下即可
//RasterImage rasterImage2 = codecs.Load(_fileName);
//RasterImage rasterImage2 = codecs.Load(_fileName,imageInfo.TotalPages);//19版本也不行,PageCount=1
// 在Viewer中显示这个图片
_imageViewer.Image = rasterImage;
_ocrPage = _ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose);
}
|