opencv及其在c#中调用

11 篇文章 0 订阅
11 篇文章 0 订阅

1 opencv简介

OpenCV(Open Source Computer Vision Library)是一个(开源免费)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android、ios等操作系统上,它轻量级而且高效—由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的诸多通用算法。

2 opencv在c++中调用

OpenCV3学习——1:OpenCV3.4.3在VS2015上的配置

3 opencv在C#中调用

opencv没有直接供c#调用的库,如果要调用,需要封装。
(1)自己封装
使用C++编写一个DLL,然后又C#调用封装的DLL。
如何通过C#调用OpenCV函数(自制OpenCV的c++ dll文件)
C#调用openCV函数及其移植
(2)使用第三方封装库
(a)EmguCV
(b)OpenCVSharp
选择时注意:
1)这些库可能是不全的,不是最新的。随着opencv的升级,其也要不断的升级。
2)这些库是开源的,但遵从不同的协议,EmguCV遵从GPL协议。OpenCVSharp遵从BSD(也有说GPLP)协议的。

4 C#下的第三方库

使用C#+EmguCV处理图像入门(一)
Emgu CV3+C#图像处理(一):Emgu CV学习目录+EmguCV安装配置与使用

在C#中使用OpenCV(使用OpenCVSharp)
告别EmguCV!OpenCvSharp3 初探

  • 2
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 C# 调用 OpenCV,你需要使用 OpenCV 的 C/C++ 库,并且使用 C# 的 P/Invoke(Platform Invocation Services)技术来将 C/C++ 函数导入到 C# 。 以下是在 C# 调用 OpenCV 的基本步骤: 1. 下载和安装 OpenCV。你可以从 OpenCV 官方网站下载最新版本。 2. 在你的 C# 项目添加对 OpenCV C/C++ 库的引用。你可以将 OpenCV 的头文件和库文件直接复制到你的项目,或者使用 NuGet 包管理器安装 OpenCV 库。 3. 在你的 C# 代码使用 [DllImport] 属性声明需要调用的 C/C++ 函数。例如,如果你想调用 OpenCV 的 cv::imread() 函数,则需要声明一个类似于下面这样的函数: ``` [DllImport("opencv_core240", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr cv_imread([MarshalAs(UnmanagedType.LPStr)]string filename, int flags); ``` 其,`opencv_core240` 是 OpenCV 的库文件名,`cv_imread()` 是要调用的函数名。 4. 在你的 C# 代码调用你声明的函数。例如,如果你想使用 cv::imread() 函数读取一张图片并显示它,你可以编写类似于下面这样的代码: ``` IntPtr imgPtr = cv_imread("test.jpg", 1); Mat img = new Mat(imgPtr); CvInvoke.Imshow("image", img); CvInvoke.WaitKey(0); ``` 其,`test.jpg` 是要读取的图片文件名,`1` 是要传递给 `cv_imread()` 函数的标志参数。 以上就是在 C# 调用 OpenCV 的基本步骤。请注意,由于 P/Invoke 是一个相对较低级的技术,因此你需要对 C/C++ 和 C# 之间的数据类型转换和内存管理有一定的了解,以确保你的代码正确且高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值