公共接口IOcrOmrOptions
公共接口IOcrOmrOptions
@接口LTOcrOmrOptions: NSObject
公共类OcrOmrOptions
公共接口类IOcrOmrOptions
在LEADTOOLS中使用OMR需要一个特殊的密钥来解锁OMR功能。有关更多信息,请参阅解锁特殊的LEAD功能.
方法的实例IOcrOmrOptions接口当前在引擎调用中使用IOcrSpellCheckManager。OmrOptions财产。
使用IOcrOmrOptions界面更改以下OMR设置:
页面的OMR区域是具有OcrZone。ZoneType设置为OcrZoneType。有机磁共振.
所有LEADTOOLS OCR引擎都支持OMR。但是,只有LEADTOOLS OCR模块- LEAD引擎支持在OCR页面自动分区期间自动检测OMR区域。要设置OMR区域自动检测,请确保“Detect复选框”是调用前包含的Recognition.Zoning.Options设置标志之一IOcrPage。AutoZone或IOcrPage。识别.其余的OCR引擎要求通过设置边界手动将OMR区域添加到页面OcrZone。界限和如上所述的区域类型。方法将区域添加到页面IOcrPage。区调用前的收集IOcrPage。识别.
有关更多信息,请参阅在LEADTOOLS .NET OCR中使用OMR.
本例将加载TIF图像,创建OMR区域并识别它们。
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Ocr;使用Leadtools.Forms.Common;使用Leadtools.Document.Writer;使用Leadtools.WinForms;公共无效OcrOmrExample (){//创建引擎实例使用(IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead)){//使用默认参数启动引擎ocrEngine。启动(零,零,零, LEAD_VARS.OcrLEADRuntimeDir);//我们将在Images文件夹中使用LEADTOOLS附带的Mixed.tif。此图像有3个OMR复选标记字符串tifFileName = Path.Combine(LEAD_VARS.ImagesDir,“Mixed.tif”);//创建一个OCR文档使用(IOcrDocument ocrDocument = ocreengine . documentmanager . createdocument ()){//向文档中添加一页IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName,零);//添加OMR分区。我们之前计算了这幅图像的3个OMR区域边界LeadRect[] omrBounds ={新LeadRect(484, 98, 84, 78),新LeadRect(494, 184, 70,54),新LeadRect(498, 244, 76, 76)};foreach(LeadRect omrBound在omrBounds){//创建一个新的OMR区域并将其添加到页面OcrZone zone =新OcrZone ();区。ZoneType = OcrZoneType.Omr;区。Bounds = omrBound;ocrPage.Zones.Add(区);}//显示我们有多少个区域和它们的属性控制台。WriteLine ("页面有{0}个区域:", ocrPage.Zones.Count);为(intI = 0;i < ocrPage.Zones.Count;我+ +){OcrZone zone = ocrPage.Zones[i];控制台。WriteLine ({0}:类型:{1}, i + 1, zone.ZoneType);}//改变OMR选项(自动检测最高灵敏度的帧)iocroroptions omrOptions = ocreengine . zonmanager . omrOptions;omrOptions。FrameDetectionMethod = OcrOmrFrameDetectionMethod.Auto;omrOptions。灵敏度=光学字符识别有机磁共振灵敏度.最高;//获取我们在引擎中用来表示填充/未填充状态的字符字符filledCode = omrOptions.GetStateRecognitionCharacter(OcrOmrZoneState.Filled);字符unfilledCode = omrOptions.GetStateRecognitionCharacter(OcrOmrZoneState.Unfilled);//识别页面控制台。WriteLine (“认识……”);ocrPage。识别(零);IOcrPageCharacters pageCharacters = ocrPage.GetRecognizedCharacters();foreach(IOcrZoneCharacters zoneCharacters在pageCharacters){//我们必须有一个字符(每个OMR区的状态)Debug.Assert (zoneCharacters。Count == 1);OcrCharacter character = zoneCharacters[0];Debug.Assert(字符。Code == filledCode ||字符。代码== unfilledCode);控制台。WriteLine (“{0}:状态:{1},信心:{2}”, zoneCharacters。ZoneIndex,的性格。Code == filledCode ?“填充”:“空”, character.Confidence);}//现在使用OMR状态的默认字符表示将结果保存为PDF(0表示未填充,1表示已填充)字符串pdfFileName1 = Path.Combine(LEAD_VARS.ImagesDir,“Omr_Results1.pdf”);控制台。WriteLine (“存到{0}…”, pdfFileName1);ocrDocument。保存(pdfFileName1 DocumentFormat.Pdf,零);//更改OMR状态的字符表示为Y表示未填充,X表示已填充omrOptions.SetStateRecognitionCharacter (OcrOmrZoneState.Unfilled“Y”);omrOptions.SetStateRecognitionCharacter (OcrOmrZoneState.Filled“X”);字符串pdfFileName2 = Path.Combine(LEAD_VARS.ImagesDir,“Omr_Results2.pdf”);控制台。WriteLine (“存到{0}…”, pdfFileName2);ocrDocument。保存(pdfFileName2 DocumentFormat.Pdf,零);}//关闭引擎//注意:如果引擎已经启动,调用Dispose也会自动关闭引擎ocrEngine.Shutdown ();}}静态类LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;公共常量字符串OcrLEADRuntimeDir =@“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”;}
进口Leadtools进口Leadtools。编解码器进口Leadtools。光学字符识别进口Leadtools。形式进口Leadtools.Document.Writer进口Leadtools。WinForms公共子OcrOmrExample ()创建引擎的一个实例使用ocrEngine作为IOcrEngine = OcrEngineManager.CreateEngine(ocrengintype . lead)使用默认参数启动引擎ocrEngine。启动(没有什么,没有什么,没有什么LEAD_VARS.OcrLEADRuntimeDir)“我们将在图片文件夹中使用LEADTOOLS附带的mix .tif。此图像有3个OMR复选标记昏暗的tifFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Mixed.tif”)创建一个OCR文档使用ocrDocument作为IOcrDocument = ocreengine . documentmanager . createdocument ()在文档中添加一页昏暗的ocrPage作为IOcrPage = ocrDocument.Pages.AddPage(tifFileName,没有什么)“增加OMR区域。我们之前计算了这幅图像的3个OMR区域边界昏暗的omrBounds作为LeadRect() = {新LeadRect(484, 98, 84, 78),新LeadRect(494, 184, 70,54),新LeadRect(498, 244, 76,76)}为每一个omrBound作为LeadRect在omrBounds创建一个新的OMR区域并将其添加到页面中昏暗的区作为新OcrZone ()区。ZoneType = OcrZoneType。有机磁共振区。Bounds = omrBoundocrPage.Zones.Add(区)下一个“展示我们有多少个区域和它们的属性控制台。WriteLine ("页面有{0}个区域:", ocrPage.Zones。数)为我作为整数= 0来ocrPage.Zones。数- 1昏暗的区作为OcrZone = ocrPage.Zones(i)控制台。WriteLine ({0}:类型:{1}, i + 1, zone.ZoneType)下一个改变OMR选项(自动检测最高灵敏度的帧)昏暗的omrOptions作为iocroroptions = ocreengine . zonmanager . omroptionsomrOptions。FrameDetectionMethod = OcrOmrFrameDetectionMethod。汽车omrOptions。灵敏度=光学字符识别有机磁共振灵敏度.最高获取我们在引擎中使用的字符来表示填充/未填充状态昏暗的filledCode作为字符= omrOptions.GetStateRecognitionCharacter (OcrOmrZoneState.Filled)昏暗的unfilledCode作为字符= omrOptions.GetStateRecognitionCharacter (OcrOmrZoneState.Unfilled)识别页面控制台。WriteLine (“认识……”)ocrPage。识别(没有什么)昏暗的pageCharacters作为IOcrPageCharacters = ocrPage.GetRecognizedCharacters()为每一个zoneCharacters作为IOcrZoneCharacters在pageCharacters我们必须有一个字符(每个OMR区域的状态)Debug.Assert (zoneCharacters。数= 1)昏暗的字符作为OcrCharacter = zoneCharacters(0)Debug.Assert(字符。Code = filledCodeOrElse的性格。代码= unfilledCode)控制台。WriteLine (“{0}:状态:{1},信心:{2}”,zoneCharacters。ZoneIndex,如果(性格。代码= filledCode,“填充”,“空”),character.Confidence)下一个'现在使用OMR状态的默认字符表示将结果保存为PDF(0表示未填充,1表示填充)昏暗的pdfFileName1作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Omr_Results1.pdf”)控制台。WriteLine (“存到{0}…”pdfFileName1)ocrDocument。保存(pdfFileName1 DocumentFormat.Pdf,没有什么)将OMR状态的字符表示改为Y表示未填充,X表示填充omrOptions.SetStateRecognitionCharacter (OcrOmrZoneState.Unfilled“Y”c)omrOptions.SetStateRecognitionCharacter (OcrOmrZoneState.Filled“X”c)昏暗的pdfFileName2作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Omr_Results2.pdf”)控制台。WriteLine (“存到{0}…”pdfFileName2)ocrDocument。保存(pdfFileName2 DocumentFormat.Pdf,没有什么)结束使用关闭引擎注意:调用Dispose也会自动关闭引擎,如果它已经启动ocrEngine.Shutdown ()结束使用结束子公共NotInheritable类LEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”公共常量OcrLEADRuntimeDir作为字符串=“C: \ LEADTOOLS21 \ Bin \常见\ OcrLEADRuntime”结束类
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
