OpencvSharp的踩坑之路
1、背景
部門的軟件課用的是c#,我們圖像處理用的c++,c++版的代碼要想在c#上運(yùn)行,通過(guò)把C++封裝成動(dòng)態(tài)鏈接庫(kù)在C#中調(diào)用,這樣在修改算法的過(guò)程中就會(huì)非常的不方便,封裝DLL的時(shí)候也比較麻煩。所以思考有沒(méi)有不用封裝,能直接在c#上用的opencv庫(kù)。
針對(duì)C#的計(jì)算機(jī)視覺(jué)庫(kù)主要有兩種:EmguCV和CVSharp.
1.1?EmguCV和CVSharp的區(qū)別
a、EmguCV的優(yōu)勢(shì)在于不僅僅提供了計(jì)算機(jī)視覺(jué)函數(shù)接口并且提供了一系列界面控件接口,但目前只支持OpenCV1的書寫風(fēng)格。
b、OpenCVSharp是OpenCV的.NET wrapper,它比EmguCV更接近于原始的OpenCV。網(wǎng)上常見(jiàn)的免費(fèi)版EmguCV則是GUN協(xié)議,任何發(fā)表都需要至少公布你的源代碼,相比之下OpenCVSharp則是相對(duì)溫和多的LGUN協(xié)議,對(duì)商業(yè)應(yīng)用友好(基本上相當(dāng)于BSD)。
| 類別 | 優(yōu)點(diǎn) | 缺點(diǎn) |
| opencv(C++) | 庫(kù)文件調(diào)用方便、商業(yè)友好 | 安裝包大,需要封裝成DLL。 |
| EmguCV | 界面開(kāi)發(fā)快 | CV1的書寫風(fēng)格、安裝包大、商業(yè)不友好 |
| OpenCVSharp | 界面開(kāi)發(fā)快、庫(kù)文件調(diào)用方便、安裝包小、商業(yè)友好 | 沒(méi)有(你打我呀) |
?我選擇的是opencvsharp,下面主要介紹opencvsharp版的安裝和使用。
2、opencvsharp的安裝
注:github官網(wǎng)介紹的更全面(https://github.com/shimat/opencvsharp)
2.1 opencvsharp的安裝(VS15)
在VS中,通過(guò)其工具中自帶的擴(kuò)展包就安裝了,不需要像C++中用opencv那樣,還要配置屬性。
安裝步驟:工具——》Nuget包管理器——》管理解決方案的Nuget包。直接搜索opencvsharp。
可以看到版本更新還是比較及時(shí)的?。
2.2 opencvsharp的使用
Csharp版的opencv的資料雖然不像c++版的那么多,但并不是沒(méi)有。剛接觸的話,可以看看這個(gè)博客(http://www.skcircle.com/?id=898),講了他的選擇以及用OpenCvSharp寫的一個(gè)圖像處理軟件 。
資料1:官網(wǎng)OpenCvSharp的api(http://shimat.github.io/opencvsharp/api/OpenCvSharp.Cv2.html)
資料2:官方的openCvSharp的例子(https://github.com/shimat/opencvsharp_samples/)
資料3:C#opencv的例子(https://www.csharpcodi.com/csharp-examples/)
資料3的網(wǎng)站比較好用,哪個(gè)算子不會(huì)用,直接搜就行了,進(jìn)去后根據(jù)例程學(xué)習(xí)一下就會(huì)了。
?
3 opencvSharp與C++版的opencv使用中的區(qū)別
這里主要記錄我把C++版的程序轉(zhuǎn)c#時(shí)遇到的小問(wèn)題。
3.1未完待續(xù)
?
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的OpencvSharp的踩坑之路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用OpenCvSharp处理图片并在w
- 下一篇: opencvsharp中resize图像