Winform中使用Opencv-OpenCVSharp

本人新写博客,文笔不太好,请见谅。

C#下使用OpenCV可以使用EmguCV,但是是通过把C++封装成动态链接库在C#中调用,这样在修改算法的过程中就会非常的不方便,封装DLL的时候也比较麻烦。在C#中除了Emgucv之外,还有一种叫做OpenCVSharp的工具,从名字就可以看出其是OpenCV提供给C#的接口。OpenCVSharp是OpenCV的.NET wrapper,它比Emgucv更接近于原始的OpenCV,并且有很多的样例参考,其采用LGPL发行,对商业应用友好(基本上相当于BSD)
转载自:https://blog.csdn.net/jameshater/article/details/79642384

我在按照https://blog.csdn.net/jameshater/article/details/79642384的方法设置OpenCVSharp,所用的编译软件是VS2010,他的两种方法我都尝试过,但是却遇上了一些问题,最后解决了,写下博客记录一下。

  先说第一种,NuGet.安装法(就允许我这样称呼它),安装过程原博客有,我就不写了,只说遇到的问题,如下图。

发现连using OpenCVSharp都会出错。

第二种:

我原先用的是最新的,2018712的安装包,可惜本人能力有限,思想古老,跟不上时代,2018712安装完后using OpenCVSharp到时没问题,可惜,我用Mat的时候却一堆错误,然后我查了下别的博客,然后在官网上找到2016622的安装包,按照第二种方法再安装一次,编译倒是通过了,我离成功已经非常接近了!就差看效果!!可惜,出现了如图的错误,深陷bug不能自拔。

然后我又查了别的博客,脑洞大开,我将两种方法糅合在了一起。

  首先,我用第一种方法在项目上安装好OpenCVSharp的库,这是当然出现了bug,然后我再用下载的OpenCVSharp的2016622版本,用这个的库里面的OpenCVSharp.dll替代第一种方法生成的OpenCVSharp.dll(引用),如下图:

,在第一种方法之后,在我的项目下会生成一个packages文件夹,然后将packages\OpenCvSharp3-AnyCPU.3.4.1.20180830\NativeDlls\x64(x86也行)的两个.dll复制到我的项目的dubug文件夹下面,竟然被我调通了!!!开心ing。。。。,上代码:

效果:

希望能帮助到看到的人。

猜你喜欢

转载自blog.csdn.net/m0_38046697/article/details/83862850