OpenCVSharp

OpenCvSharp是一個OpenCV的.Net wrapper,套用最新的OpenCV庫開發,使用習慣比EmguCV更接近原始的OpenCV,有詳細的使用樣例供參考。該庫採用LGPL發行,對商業套用友好。使用OpenCvSharp,可用C#,VB.NET等語言實現多種流行的圖像處理(image processing)與計算機視覺(computer vision)算法。

基本介紹

  • 中文名:OpenCVSharp
  • 性質:OpenCV的.Net wrapper
  • 開發基礎:OpenCV庫
  • 發行:LGPL
特點,例程,效果展示,運行環境要求,

特點

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,1)) { src.Canny(dst,50,200); using(CvWindowwindow_src=newCvWindow("srcimage",src)) using(CvWindowwindow_dst=newCvWindow("dstimage",dst)) { CvWindow.WaitKey();} }}}
Canny算法例程Canny算法例程
同樣支持原生樣式的函式。有經驗的OpenCV使用者可以輕鬆上手OpenCvSharp:
usingSystem;usingOpenCvSharp;classProgram{staticvoidMain(){IplImagesrc=Cv.LoadImage("lenna.png",LoadMode.GrayScale);IplImagedst=Cv.CreateImage(newCvSize(src.Width,src.Height),BitDepth.U8,1);Cv.Canny(src,dst,50,200);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庫。

相關詞條

熱門詞條

聯絡我們