OpenCV在C#中應用—OpenCVSharp
1、什麽是OpenCVSharp
之前一直是基於OpenCV開發視覺算法,但C++語言對於GUI的開發相對於C#來說確實很不方便,之前就了解到C#下使用OpenCV可以使用EmguCV,這段時間也確實是調通了,但是是通過把C++封裝成動態鏈接庫在C#中調用,這樣在修改算法的過程中就會非常的不方便,封裝DLL的時候也比較麻煩。在C#中除了Emgucv之外,還有一種叫做OpenCVSharp的工具,從名字就可以看出其是OpenCV提供給C#的接口。OpenCVSharp是OpenCV的.NET wrapper,它比Emgucv更接近於原始的OpenCV,並且有很多的樣例參考,其采用LGPL發行,對商業應用友好(基本上相當於BSD)。
2、OpenCVSharp有什麽特點
直接封裝了更多的OpenCV方法,降低了學習的難度,比EmguCV更便於使用
大部分繼承了IDisposable接口,方便使用using語句
可以直接調用原始風格的OpenCV方法
可以將圖像對象直接轉換成GDI使用的Bitmap和WPF的WriteBitmap
支持Mono。
3、OpenCVSharp在VS中的環境配置
相比較OpenCV配置比較麻煩,OpenCVSharp和EmguCV一樣,其不需額外的系統環境配置,只需要對項目進行簡單的配置即可使用。
安裝OpenCVSharp
有兩種方式:一種是使用NuGet(庫程序包管理器);另一種直接下載安裝包。
第一種方式:使用NuGet(庫程序包管理器),首先打開VS,在【工具】選項中是否有【庫程序包管理器】
沒有的話自己去安裝好NuGet.
https://jingyan.baidu.com/article/066074d636fd19c3c21cb0a2.html(轉載自百度)
安裝好之後,打開【工具】->【庫程序包管理器】->【管理解決方案的NuGet程序包】,在其中搜索OpenCVSharp,選擇合適的點擊【安裝】(最好安裝最新的)。一直等待完成。
完成安裝之後,需要將安裝文件的DLL文件放置在項目可執行文件的Debug文件夾下,怎麽去找安裝好的文件呢
第二種方式是直接下載安裝包
https://github.com/shimat/opencvsharp/releases
下載好之後解壓到一個文件夾(任意的文件夾)
VS中OpenCVSharp的配置
文件安裝好之後,在【解決方案】中右鍵【引用】->【添加引用】,選擇【瀏覽】,將下載文件中的OpenCvSharp.dll文件添加進引用。
將下載文件中的OpenCvSharpExtern.dll復制到可執行文件的Debug文件夾下,所有配置OK,下面測試是否配置成功。
4、測試代碼
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);
}
}
}
---------------------
作者:jameshater
來源:CSDN
原文:https://blog.csdn.net/jameshater/article/details/79642384
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
OpenCV在C#中應用—OpenCVSharp