想要达到的效果:识别以下图像四个象限里的数字和字母
识别的结果像这种形式:[6,56,76,]
额外的约束条件包括:
1,图像固定大小为736x192
2,四个象限的区域相对固定,可以通过附件ToothZone.zip里的.ozf文件
把它们划分出来
3,每个象限只可能出现数字1到8,字母A到E,且只会有一种字体,一种字体大小
现在遇到的问题是识别率不高,我尝试了Advantage的OcrEngine和Professional的OcrEngine效果都不理想,Advantage的OcrEngine表现略好,但仍然有以下几类识别错误:
1,第二象限“6”被认成“8”,第一象限“6”被认成“13”,测试图像:
2,第四象限“3”被认成“8”,测试图像:
我的代码如下:
- List<string> result = new List<string>();
- RasterImage rasterImage = _ocrEngine.RasterCodecsInstance.Load(imagePath, 1);
- // Create an OCR page from this image, transform ownership of the RasterImage object
- using (IOcrPage ocrPage = _ocrEngine.CreatePage(rasterImage, OcrImageSharingMode.AutoDispose))
- {
- ocrPage.LoadZones(@"C:\Users\ABC\Desktop\ToothZone.ozf");
- // Recognize the page
- ocrPage.Recognize(null);
- // Show the text of all zones
- for (int zoneIndex = 0; zoneIndex < ocrPage.Zones.Count; zoneIndex++)
- {
- result.Add(ocrPage.GetText(zoneIndex));
- }
- }
- return string.Join("|", result.ToArray());
复制代码
附件里还有更多测试图像
:
是不是什么参数没有设置对? |