浅谈OCR之Onenote 2010

本文介绍了如何利用Onenote 2010的API进行OCR功能的编程实现,探讨了OCR的过程和限制,并通过代码示例展示了如何插入图片、提取OCR结果。尽管Onenote的OCR准确性和效率优于Tesseract,但API的局限性和文档的不足成为挑战。
摘要由CSDN通过智能技术生成
原文: 浅谈OCR之Onenote 2010

上一次我们讨论了Tesseract OCR引擎的用法,作为一款老牌的OCR引擎,目前已经开源,最新版本3.0中更是加入了中文OCR功能,再加上Google的更新、维护,可以说是潜力很大,值得期待。由上一次的测试结果也可以看出,Tesseract的OCR结果还不是很理想,尤其是中英文混合的文字,其识别率有限。本次我们来关注下Office 2010中的Onenote,调用其API来测试OCR功能。

PS:在公司经理一直推荐使用MyBase来记录工作中遇到的问题、工作日志等,但是我一直坚持使用Onenote :)

测试代码下载

在Visual Studio 2010 Ultimate + Onenote 2010 x64中测试通过

转载请注明出处:http://www.cnblogs.com/brooks-dotnet/archive/2010/10/07/1845313.html

 

1、Onenote 2010 新特性:

New features in 2010:

Gather, organize, and search

Sharing and universal access

  • Organize page tabs better:
    • Multi-level subpages
    • Collapse subpages
  • Jump to any page with a quick search
  • Dock to Desktop
  • Link to other notes, like a wiki
  • Quick Styles for making headings
  • Auto-link notes to Web pages and documents
  • Insert Math
  • Notes on Outlook Tasks
  • Send content to any section in OneNote
  • Access from anywhere:
    • Share on the Web
    • View and edit in a browser
    • Sync notes to OneNote Mobile
  • Share notes:
    • Unread changes are highlighted
    • See author initials
    • Version history
    • Find recent edits
    • Find edits by author
    • Faster sync with SharePoint

   

   

Examples:

   

  

Organize topics using subpages

Drag tabs to indent and organize pages within a section.

Keep notes visible during other tasks

OneNote will link notes to documents and Web pages you view.

   

   

View >

  

  

   

  

  

What's new in a shared notebook?

Unread changes are shown automatically.

  

What notes are teammates working on?

   

Share >

  

   

   

  

Select location when sending to OneNote

When sending from Outlook or Internet Explorer

Link to information for yourself and others

   

   

   

   

Insert >

  

  

or type

[[page name]]

   

  

   

   

More Resources Online

Videos, templates, training, help, and discussion groups.

   

Microsoft® OneNote® 2010 Guide Notebook

Copyright © 2009 Microsoft Corporation. All rights reserved.

The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, places, or events is intended or should be inferred.

 

2、Onenote中的OCR功能

园子里的朋友斯克迪亚很早就写过一片博文,详细介绍了GUI下使用OCR功能的方法,当时我也看了,想用编程来实现Onenote的OCR功能。后来忙其他事就没有细究,国庆假期我正好在查找一些OCR工具,又想起了这回事,于是多方查找资料、测试,今天终于是略有小成,特与大家分享。程序还存在很多问题,欢迎拍砖。

2.1、关于Onenote OCR功能的一处细节要先提一下,那就是如果从网络上复制一幅图片到Onenote中,是无法进行OCR的;但是如果从本地插入一幅图片到Onenote中,则可以进行OCR:

左边是本地图片,右边是网络图片,可以看出,网络图片右键菜单中的【Copy Text from Picture】是灰掉的,无法点击。

 

2.2、我用WPF写的小程序界面如下,和上一次TesseractGUI如出一辙,不过是换药未换汤。

左边选择图片,支持本地图片、网络图片预览、缩放、移动,右边选择输出目录、显示OCR结果:

 

2.3、MSDN杂志上有一篇文章给了我很大的启发,介绍了Onenote 2010中的对象模型,感兴趣的朋友可以深入阅读。CodePlex上还有一个托管的Onenote对象模型项目ONOM,对Onenote PIA提供了更好的封装。建立WPF项目并添加引用时要注意一下:

首先,由于与 Visual Studio 2010 随附的 OneNote 互操作程序集不匹配,您不应该在"添加引用"对话框的".NET"选项卡上直接引用 Microsoft.Office.Interop.OneNote 组件,而是应该在"COM"选项卡上引用 Microsoft OneNote 14.0 类型库组件。这样做仍会向项目的引用中加入 OneNote 互操作程序集。

其次,OneNote 14.0 类型库与 Visual Studio 2010"NOPIA"功能不兼容。在 NOPIA 功能中,主互操作程序集默认情况下不会嵌入到应用程序中。因此,请务必将 OneNote 互操作程序集引用的"嵌入互操作类型"属性设置为 False。

 

2.4、Onenote没有采用OpenXML格式进行描述,而是使用了原始的XML ,一个完整的页面的描述代码如下:

 

ExpandedBlockStart.gif 完整的Onenote XML代码
<? xml version="1.0" ?>
< one:Page  xmlns:one ="http://schemas.microsoft.com/office/onenote/2010/onenote"  ID ="{6506BE8D-72F1-461D-AB41-632D60CCD6D3}{1}{B0}"  name ="Untitled page"  dateTime ="2010-10-06T02:33:02.000Z"  lastModifiedTime ="2010-10-06T05:26:59.000Z"  pageLevel ="1"  isCurrentlyViewed ="true" >
    
< one:QuickStyleDef  index ="0"  name ="PageTitle"  fontColor ="automatic"  highlightColor ="automatic"  font ="Calibri"  fontSize ="17.0"  spaceBefore ="0.0"  spaceAfter ="0.0" />
    
< one:PageSettings  RTL ="false"  color ="automatic" >
        
< one:PageSize >
            
< one:Automatic />
        
</ one:PageSize >
        
< one:RuleLines  visible ="false" />
    
</ one:PageSettings >
    
< one:Title  lang ="zh-CN" >
        
< one:OE  author ="Brooks"  authorInitials ="WS"  lastModifiedBy ="Brooks"  lastModifiedByInitials ="WS"  creationTime ="2010-10-06T02:33:02.000Z"  lastModifiedTime ="2010-10-06T02:33:02.000Z"  objectID ="{E13C4904-E707-4980-83FD-C92F117109E1}{15}{B0}"  alignment ="left"  quickStyleIndex ="0" >
            
< one:T > <![CDATA[]]> </ one:T >
        
</ one:OE >
    
</ one:Title >
    
< one:Image  format ="jpg"  originalPageNumber ="0"  lastModifiedTime ="2010-10-06T05:26:59.000Z"  objectID ="{9C53EE63-B289-40A1-9CA9-2E45F2F833B0}{138}{B0}" >
        
< one:Position  x ="18.0"  y ="104.400001525879"  z ="0" />
        
< one:Size  width ="420.75"  height ="113.9999923706055" />
        
< one:Data >
            /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
            CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
            FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCACYAjEDASIA
            AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
            AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
            ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
            p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
            AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
            BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
            U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
            uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9MvH3
            j7Qfhf4Sv/E3ia//ALM0OxCG4uvJkl2bnVF+SNWY5ZlHAPWszwL8YfCfxH1PUdM0PUZ21XTkjkut
            O1CwuLC6iRxlH8m4jRyhBGGAI5HNcD+2z4d1XxX+zH4z0rRNMvNY1S4W18mysLd55pMXULHaiAsc
            AEnA6A15j8V/2c/Gn/CG+LPGSazP4j8XatZabYXWm6JYtp6jSIXRri1jiMsjySOocsDJlxlFXnaV
            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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值