OpenCvSharp 是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用LGPL发行,对商业应用友好。使用OpenCvSharp,可用C#,VB.NET等语言实现多种流行的图像处理(image processing)与计算机视觉(computer vision)算法。

特点

1.相较于SharperCV与OpenCVDotNet,OpenCvSharp直接封装了更多的OpenCV方法,降低学习难度。
2.大部分了继承了IDisposable接口,方便使用using语句块。
3.不强加面向对象思维,可以直接调用原生风格的OpenCV方法。
4.可以将IplImage直接转为Bitmap(GDI+) 或者WriteableBitmap(WPF)。
5.支持Mono。可以运行于支持Mono的任何平台上(如Linux,BSD,Mac OS X等)。

例程

以下代码使用Canny算法寻找输入图像的边缘信息:
 usingSystem;
usingOpenCvSharp; classProgram
{
  staticvoidMain()
  {
     using(IplImagesrc=newIplImage("lenna.png",LoadMode.GrayScale))
     using(IplImagedst=newIplImage(src.Size,BitDepth.U8,))
     {
       src.Canny(dst,,);
       using(CvWindowwindow_src=newCvWindow("srcimage",src))
       using(CvWindowwindow_dst=newCvWindow("dstimage",dst))
       {
         CvWindow.WaitKey();
       }
     }
  }
}

同样支持原生样式的函数。有经验的OpenCV使用者可以轻松上手OpenCvSharp:

 usingSystem;
usingOpenCvSharp; classProgram
{
  staticvoidMain()
  {
    IplImagesrc=Cv.LoadImage("lenna.png",LoadMode.GrayScale);
    IplImagedst=Cv.CreateImage(newCvSize(src.Width,src.Height),BitDepth.U8,);
    Cv.Canny(src,dst,,);
    Cv.NamedWindow("srcimage");
    Cv.ShowImage("srcimage",src);
    Cv.NamedWindow("dstimage");
    Cv.ShowImage("dstimage",dst);
    Cv.WaitKey();
    Cv.DestroyAllWindows();
    Cv.ReleaseImage(src);
    Cv.ReleaseImage(dst);
  }
}

运行环境要求

1..NET Framework 2.0 或 Mono
2.Visual C++ 2008 SP1 Redistributable Package 或 Visual C++ 2010 SP1 Redistributable Package
3.OpenCV 2.x / 1.1pre
使用者需要自行下载并安装与OpenCvSharp版本一致的OpenCV库。

OpenCVSharp介绍的更多相关文章

  1. [OpenCVsharp]利用指针实现高速访问像素RGB值

    先简单介绍下什么是OpenCVsharp,内容取自百度百科 OpenCvSharp是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的Open ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  4. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  5. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  6. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  7. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  8. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  9. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

随机推荐

  1. PyQt5Day03--程序基本结构之面向对象版本+控件学习

    1.程序基本结构之面向对象版本 (1)开发阶段(自己写好并测试)——设置为模版qto from PyQt5.Qt import * class Window(QWidget): def __init_ ...

  2. UML-如何使用GRASP进行对象设计?

    1.GRASP有以下模式 2.创建者 问题:谁创建某类的新实例? 方案:(我认为) 聚集:物理模型下,由父类创建子类.(父类聚集了子类的集合) 包含:子类包含父类对象 专家模式:提供初始化数据的类来创 ...

  3. python对数组缺失值进行填充

    1. 两个常用的函数 1.1 np.nonzero() np.nonzero()函数返回数组中不为False(0)的元素对应的索引 a = np.array([1,2,0,3,1,0]) print( ...

  4. Springboot整合Junit单元测试

    1.在pom.xml中添加junit环境的依赖 <dependency> <groupId>org.springframework.boot</groupId> & ...

  5. 每天一杯C_Visual Studio各个版本的区别和总结

    细致区别如上图所示 企业版点满图中技能树,能够提供点对点的解决方案,充分满足正规企业的要求. PS:技能最多,肯定也就价格最贵 专业版中提供的专业开发者工具.服务和订阅就成了最佳选择. PS:技能多, ...

  6. RFC文档(http部分)

    Request For Comments(RFC),是一系列以编号排定的文件.文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件.目前RFC文件是由Internet Society(IS ...

  7. 京东云数据库 RDS助力企业便捷运维

    iPhone6发布那年,京东在国贸等商圈送货最快速度数分钟,包括从下单到送达.这是一个极端的富含营销因素例子.即便如此,常态来看,隔天到货的这种业务模式,也是基于同样的支撑:营销业务.物流业务,大数据 ...

  8. views层回顾

    目录 views层回顾 jsonResponse 2 大文件上传 3. cbv和fbv源码分析 4settings.py源码分析 5模板传值{{}} {%%} 6. 过滤器和标签和自定义 7模板的继承 ...

  9. 数据库my.ini配置

    数据库my.ini配置 通过配置文件统一配置的目的:统一管理 服务端(mysqld) .客户端(client) 配置了 mysqld(服务端) 的编码为utf8,那么再创建的数据库,默认编码都采用 1 ...

  10. PHP 限制访问ip白名单

    一  上代码 config.php //ip白名单配置 'ipWlist'=>[ 'ifFilter'=>true, //是否开启白名单功能 'wlist'=>[ '10.0.0.1 ...