C#关于OCR识别

来源:互联网 发布:ubuntu国内源 编辑:程序博客网 时间:2024/05/01 03:18

C#关于OCR识别

文章分类:.net编程

      这阵子在搞OCR识别,又在百度上Google了两天,发现OCR识别这个东东已经比较成熟了,在别人邀请我一起参加比赛的时候,我开始怀疑技术还不是很成熟,不查不知道,一查还发现,我们国内在这领域的技术还是相当的领先的,国家早在很久以前就投了很多钱在这上面,而且孵化出了TH-OCR这个公司。没想到微软居然早在2003年就公布了一个很好的组件---Microsoft

Office Document Imaging;这样就方便的做OCR识别了。



首先用office安装盘安装这个组件,默认安装office的时候是不会安装的,只要添加这个组件功能就好了。
然后新建的项目里添加组件Microsoft Office

Document Imaging 12.0 Type Library(office07)或者Microsoft Office Document

Imaging 11.0 Type Library(office03)
核心代码如下:
MODI.Document doc = new

MODI.Document();

doc.Create("picPath");

MODI.Image image;

MODI.Layout layout;

string ret = null;

//doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);识别英文

doc.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true,

true);//识别中文

for (int i = 0; i < doc.Images.Count; i++)

{

image = (MODI.Image)doc.Images[i];

layout = image.Layout;

ret += layout.Text;

}

return ret;
其中主要几点,第一,关于语言的选择如果文档图片为中英文混合,则最好选中文,如果是纯英文那么就选英文
第二,电脑因素,不知道为什么,我开始在win7物理机上跑,总是出现OCR

running error,但是我把他放在虚拟机里跑就OK了,而放到别人的电脑上也没问题,可能是RP问题吧,我无语了两天。。。。


在用微软的技术的时候,关键是创意,微软这个平台给我们提供了很多很强大的技术,我们可以在这个平台上充分发挥想象力,做一些有意思的东西。还有就是要积

极关注技术领域,哪些技术是新的,哪些是成熟的,有哪些开源项目等等,都对我们以后做一个什么东西有帮助的。




无论什么样的识别程序,大致都是这么5个步骤。
(1)图像提取
(2)图像预处理、清洗
(3)分块切割
(4)分类识别
(5)得出结果
原创粉丝点击