项目需要识别图片上的信息,网上搜索试了Asprise-OCR、Microsoft Office Document Imaging(Office 2007) 组件实现两种方式,后者可以识别中文等其他语言

一、Asprise-OCR实现:

需要引用破解版AspriseOCR.dll

代码如下:

class Program
{
[DllImport("AspriseOCR.dll", EntryPoint = "OCR", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr OCR(string file, int type); static void Main(string[] args)
{
var imgpath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"1111.jpg"); //AspriseOCR方法
var s = Marshal.PtrToStringAnsi(OCR(imgpath, -));
var list = s.Split(new string[] { "\r\n" }, StringSplitOptions.None);
}
}

运行结果如下,对数字识别还是可以的。

注意,项目的目标平台要设置X86

二、Microsoft Office Document Imaging(Office 2007) 组件实现:

使用win 7 office 2007的时必须打上office 2007 sp1或者sp2补丁,读取中文才行(补丁地址自行百度搜索)。

打完补丁后添加引用,

需要在控制面板里添加安装才可以:

如何添加Microsoft Office Document Imaging

class Program
{
static void Main(string[] args)
{
var imgpath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"333333.png"); //MODI方法(Microsoft Office Document Imaging(Office 2007) 组件实现)
StringBuilder sb = new StringBuilder();
MODI.Document doc = new MODI.Document();
doc.Create(imgpath);
MODI.Image image;
MODI.Layout layout;
doc.OCR(SwitchLanuageType(""), true, true);
for (int i = ; i < doc.Images.Count; i++)
{
image = (MODI.Image)doc.Images[i];
layout = image.Layout;
sb.Append(layout.Text);
}
var ss = sb.ToString();
} private static MODI.MiLANGUAGES SwitchLanuageType(string sValue)
{
switch (sValue)
{
case ""://简体中文
return MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED;
case ""://英语
case ""://繁体中文
return MODI.MiLANGUAGES.miLANG_CHINESE_TRADITIONAL;
default:
return MODI.MiLANGUAGES.miLANG_ENGLISH;
}
}
}

 注意,项目的目标平台要设置X86

运行结果:

注:上面两个方法,图片清晰度不高得话,识别不了。

C# 图片识别的更多相关文章

  1. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  3. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  4. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. WindowsAPI调用和OCR图片识别

    傻了吧唧的装双系统.成功的干崩了原本的系统.现在重装VS.闲的没事胡扯几句. WindowsAPI在每一台Windows系统上开放标准API供开发人员调用.功能齐全.在这里只介绍三个部分. 1.利用A ...

  7. Android开发学习之路-GSON使用心得(OCR图片识别)

    在安卓中解析JSON串可以使用的方法有很多,比如说用官方提供的JSONObject或者谷歌提供的开源库GSON,以及一些第三方开源库. 这里用的是GSON,为了测试方便,借助了一个百度的api,一个图 ...

  8. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数 ...

  9. Selenium&EmguCV实现爬虫图片识别

    概述 爬虫需要抓取网站价格,与一般抓取网页区别的是抓取内容是通过AJAX加载,并且价格是通过CSS背景图片显示的. 每一个数字对应一个样式,如'p_h57_5' .p_h57_5 { backgrou ...

  10. tesseract-ocr图片识别开源工具

    tesseract-ocr图片识别开源工具 今天看同事的ppt,提到了图片识别,又tesseract-ocr,觉得不错,试一下,如果效果好可以用来做验证码的识别 http://code.google. ...

随机推荐

  1. vue-cli 3.0

    安装 vue-cli 3.0 时报错 vue-cli3安装遇到的问题,卸载不掉旧版本,导致更新不了 vue-cli 2.9.6 版本卸载不了 作者:Runner_leaf链接:https://www. ...

  2. html form action

    action 行为 一.j_security_check  登陆检查 <!DOCTYPE html> <html> <head> <meta charset= ...

  3. 经测试,foreach循环比linq的效率高

  4. tensorflow建造神经网络-【老鱼学tensorflow】

    上次我们添加了一个add_layer函数,这次就要创建一个神经网络来预测/拟合相应的数据. 下面我们先来创建一下虚拟的数据,这个数据为二次曲线数据,但同时增加了一些噪点,其图像为: 相应的创建这些伪造 ...

  5. INotifyPropertyChanged 接口

    INotifyPropertyChanged 接口 用于向客户端(通常是执行绑定的客户端)发出某一属性值已更改的通知. 例如,考虑一个带有名为 FirstName 属性的 Person 对象.若要提供 ...

  6. 在vue2中隐藏elementUI的tab栏

    <template> <el-tabs v-model="activeName" @tab-click="handleClick" ref=& ...

  7. 后端for循环补充

    我们的for循环里面,在外面可以调用它最后一次循环的值,pycharm尽管会飘黄色,但是系统是可以识别出来的,能够调用,而且是循环最后一次的值

  8. 横向滑动的listview和其中用到的触摸监听事件详解

    一.首先把横向的listview的代码放上来 HorizontalListView: package com.common.cklibrary.utils.myview; import java.ut ...

  9. 【java】-- java并发包总结

    1.同步容器类 1.1.Vector与ArrayList异同 1.Arraylist和Vector都是采用数组方式存储数据,都允许直接序号索引元素,所以查找速度快,但是插入数据等操作涉及到数组元素移动 ...

  10. Note of Jieba ( 词云图实例 )

    Note of Jieba jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容 ...