C#使用OpenCvSharp4库中5个基础函数

C#使用OpenCvSharp4库中5个基础函数

C#使用OpenCvSharp4库中5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀使用OpenCV可以对彩色原始图像进行基本的处理,涉及到5个常用的处理:

灰度化 模糊处理 Canny边缘检测膨胀腐蚀

1、测试图像lena.jpg本例中我们采用数字图像处理中经常用到的一副标准图像lena.png作为测试图像,如下图所示:

资源

具体资源下载地址为:lena图像下载地址

lena.png2、使用Visual Studio 2022创建一个基于C# .Net控制台的程序首先我们新建一个基于C# .Net控制台的程序,项目名为OpenCVExample,然后把lena.jpg拷贝到E:\SoftDevelop\CPlus\VS2022Projects\CSharpExamples\OpenCVExample\OpenCVExample\bin\Debug\images对应目录下,如下图所示:

项目资源所在目录安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包,或者直接安装OpenCvSharp4.Windows包安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包

安装OpenCvSharp4和OpenCvSharp4.runtime.win两个NuGet包之后,packages.config配置文件如下:

代码语言:javascript代码运行次数:0运行复制

C#示例代码对应的C#代码如下:

代码语言:javascript代码运行次数:0运行复制using OpenCvSharp;

namespace OpenCVExample

{

public class Program

{

///

/// OpenCV的5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀

///

public static void FiveBasicFunction()

{

Mat img = Cv2.ImRead("images/lena.jpg"); // 读取图像

Mat grayImg = new Mat();

Cv2.CvtColor(img, grayImg, ColorConversionCodes.BGR2GRAY);

Mat blurImg = new Mat();

Cv2.GaussianBlur(grayImg, blurImg, new Size(7, 7), 0);

Mat cannyImg = new Mat();

Cv2.Canny(blurImg, cannyImg, 150, 200);

Mat dialationImg = new Mat();

Mat kernel = new Mat(5, 5, MatType.CV_8UC1);

Cv2.Dilate(blurImg, dialationImg, kernel);

Mat erodeImg = new Mat();

Cv2.Erode(dialationImg, erodeImg, kernel);

Cv2.ImShow("Image", img); // 显示原图像

Cv2.ImShow("Gray Image", grayImg); // 显示灰度图像

Cv2.ImShow("Blur Image", blurImg); // 显示高斯模糊图像

Cv2.ImShow("Canny Image", cannyImg); // 显示Canny边缘检测图像

Cv2.ImShow("Dialation Image", dialationImg); // 膨胀图

Cv2.ImShow("Erode Image", erodeImg); // 腐蚀图

Cv2.WaitKey(0);

Cv2.DestroyAllWindows();

}

static void Main(string[] args)

{

FiveBasicFunction();

//Console.ReadKey();

}

}

}程序运行结果在VS2022中运行上述代码,结果如下图所示:

原图和灰度图像高斯模糊图像和Canny边缘检测图像膨胀图和腐蚀图像参考资料https://github.com/shimat/opencvsharpLEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer VisionLearn-OpenCV-cpp-in-4-HoursLEARN OPENCV in 3 HOURS with Python | Including 3xProjects | Computer VisionLearn-OpenCV-in-3-hours

相关推荐

感觉自己越来越变态了,怎么办
beat365app登录入口

感觉自己越来越变态了,怎么办

📅 09-01 👁️ 1531
如何在线观看2018世界杯比赛(不花一分钱,不用翻墙,全程高清直播)
便的多音字组词
365bet中文资讯网

便的多音字组词

📅 09-19 👁️ 8498