zoukankan      html  css  js  c++  java
  • OpenCVSharp介绍

    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算法寻找输入图像的边缘信息:
     1 usingSystem;
     2 usingOpenCvSharp;
     3  
     4 classProgram
     5 {
     6   staticvoidMain()
     7   {
     8      using(IplImagesrc=newIplImage("lenna.png",LoadMode.GrayScale))
     9      using(IplImagedst=newIplImage(src.Size,BitDepth.U8,1))
    10      {
    11        src.Canny(dst,50,200);
    12        using(CvWindowwindow_src=newCvWindow("srcimage",src))
    13        using(CvWindowwindow_dst=newCvWindow("dstimage",dst))
    14        {
    15          CvWindow.WaitKey();
    16        }
    17      }
    18   }
    19 }

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

     1 usingSystem;
     2 usingOpenCvSharp;
     3  
     4 classProgram
     5 {
     6   staticvoidMain()
     7   {
     8     IplImagesrc=Cv.LoadImage("lenna.png",LoadMode.GrayScale);
     9     IplImagedst=Cv.CreateImage(newCvSize(src.Width,src.Height),BitDepth.U8,1);
    10     Cv.Canny(src,dst,50,200);
    11     Cv.NamedWindow("srcimage");
    12     Cv.ShowImage("srcimage",src);
    13     Cv.NamedWindow("dstimage");
    14     Cv.ShowImage("dstimage",dst);
    15     Cv.WaitKey();
    16     Cv.DestroyAllWindows();
    17     Cv.ReleaseImage(src);
    18     Cv.ReleaseImage(dst);
    19   }
    20 }

    运行环境要求

    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库。
  • 相关阅读:
    宽屏手机显示9.png的图片拉伸不均衡
    android中 System.exit(0)的理解
    android 由于界面控件过多耗时处理办法
    iOS开发笔记--sqlite3 语句总结
    iOS开发笔记--iOS应用架构谈
    iOS开发笔记--iOS 学习资料整理
    iOS开发笔记--iOS、mac开源项目及库汇总
    iOS开发笔记--iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognize
    iOS开发笔记--Masonry介绍与使用实践:快速上手Autolayout
    iOS开发笔记--使用CocoaPods来管理iOS项目的依赖库
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/12213361.html
Copyright © 2011-2022 走看看