C#中使用OpenCvSharp4库读取本地图像并显示
OpenCvSharp4是基于.NET 的 OpenCV 包装器,OpenCV源代码是采用C和C++写的,目前对于C++和Python开发者相对来说比较友好,对于Python开发者而言官方提供了opencv-python使用。
首选我们使用Visual Studio 2022创建一个.Net控制台程序ReadImageUseOpenCvSharp4
,然后安装OpenCvSharp4
安装包,我们在Visual Studio 2022中依次点击【项目】菜单->【管理 NuGet 程序包(N)】,如下面的Gif动态图所示:
可以看到安装完OpenCvSharp4
包之后我们的App.Config文件中有了相关的依赖包,目前的最新版本是4.9.0.20240103,如下图所示:
![OpenCvSharp4
接下来我们在C#项目中使用OpenCvSharp4库读取本地图片并显示,
首先我们下载一副数字图像处理中常用的lena.png
将下载后的图像重命名为Lena.png
放到项目对应目录,比如E:\SoftDevelop\CPlus\VS2022Projects\CSharpExamples\ReadImageUseOpenCvSharp4\ReadImageUseOpenCvSharp4\bin\Debug\images
目录下,如下图所示:
C#中使用OpenCvSharp4库读取本地图像并显示很简单,对应的C#代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp; // 导入OpenCvSharp命名空间
namespace ReadImageUseOpenCvSharp4
{
public class Program
{
static void Main(string[] args)
{
Mat img = Cv2.ImRead("images/lena.png"); // 读取本地图像
Cv2.ImShow("Lena Image", img);
Cv2.WaitKey(0); // 永久等待,直到用户输入按键退出
Cv2.DestroyAllWindows(); // 销毁所有窗口
}
}
}
直接运行以上代码发现报错了,错误如下:
发现除了安装OpenCvSharp4这个包之外,还得安装OpenCvSharp4.runtime.win
这个依赖包,如下图所示:
这一点在https://github.com/shimat/opencvsharp这个源代码地址首页有相关描述,如下图所示:
有关Windows下安装OpenCvSharp4包可以直接将OpenCvSharp4
和OpenCvSharp4.runtime.win
这两个NuGet包添加到项目中。你也可以使用OpenCvSharp4.Windows
代替。
运行程序
接下来运行上述代码,如下图所示:
参考资料
- https://github.com/shimat/opencvsharp
- C# 无法加载 DLL“OpenCvSharpExtern