一、什麼是OpenCVSharp
以前一直是基於OpenCV開發視覺算法,但C++語言對於GUI的開發相對於C#來講確實很不方便,以前就瞭解到C#下使用OpenCV能夠使用EmguCV,這段時間也確實是調通了,可是是經過把C++封裝成動態連接庫在C#中調用,這樣在修改算法的過程當中就會很是的不方便,封裝DLL的時候也比較麻煩。在C#中除了Emgucv以外,還有一種叫作OpenCVSharp的工具,從名字就能夠看出其是OpenCV提供給C#的接口。OpenCVSharp是OpenCV的.NET wrapper,它比Emgucv更接近於原始的OpenCV,而且有不少的樣例參考,其採用LGPL發行,對商業應用友好(基本上至關於BSD)。html
二、OpenCVSharp有什麼特色
直接封裝了更多的OpenCV方法,下降了學習的難度,比EmguCV更便於使用
大部分繼承了IDisposable接口,方便使用using語句
能夠直接調用原始風格的OpenCV方法
能夠將圖像對象直接轉換成GDI使用的Bitmap和WPF的WriteBitmap
支持Mono。
三、OpenCVSharp在VS中的環境配置
相比較OpenCV配置比較麻煩,OpenCVSharp和EmguCV同樣,其不需額外的系統環境配置,只須要對項目進行簡單的配置便可使用。git
安裝OpenCVSharp
有兩種方式:一種是使用NuGet(庫程序包管理器);另外一種直接下載安裝包。github
第一種方式:使用NuGet(庫程序包管理器),首先打開VS,在【工具】選項中是否有【庫程序包管理器】算法
沒有的話本身去安裝好NuGet.app
https://jingyan.baidu.com/article/066074d636fd19c3c21cb0a2.html(轉載自百度)工具
安裝好以後,打開【工具】->【庫程序包管理器】->【管理解決方案的NuGet程序包】,在其中搜索OpenCVSharp,選擇合適的點擊【安裝】(最好安裝最新的)。一直等待完成。學習
完成安裝以後,須要將安裝文件的DLL文件放置在項目可執行文件的Debug文件夾下,怎麼去找安裝好的文件呢測試
第二種方式是直接下載安裝包spa
https://github.com/shimat/opencvsharp/releases.net
下載好以後解壓到一個文件夾(任意的文件夾)
VS中OpenCVSharp的配置
文件安裝好以後,在【解決方案】中右鍵【引用】->【添加引用】,選擇【瀏覽】,將下載文件中的OpenCvSharp.dll文件添加進引用。
將下載文件中的OpenCvSharpExtern.dll複製到可執行文件的Debug文件夾下,全部配置OK,下面測試是否配置成功。
四、測試代碼using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; using OpenCvSharp; //添加相應的引用便可 namespace OpenCVSharpTest2{ class Program { static void Main(string[] args) { Mat source = new Mat(@"1.bmp", ImreadModes.Color); Cv2.ImShow("Demo", source); Cv2.WaitKey(0); } }}