网站开发费用一般是多少,怎么建设宣传网站,100m的网站 数据库,wordpress数据结构C#使用OpenCvSharp4库中5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀
使用OpenCV可以对彩色原始图像进行基本的处理#xff0c;涉及到5个常用的处理#xff1a; 灰度化 模糊处理 Canny边缘检测 膨胀 腐蚀
1、测试图像lena.jpg
本例中我们采用数字图像处…C#使用OpenCvSharp4库中5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀
使用OpenCV可以对彩色原始图像进行基本的处理涉及到5个常用的处理 灰度化 模糊处理 Canny边缘检测 膨胀 腐蚀
1、测试图像lena.jpg
本例中我们采用数字图像处理中经常用到的一副标准图像lena.png作为测试图像如下图所示: 具体资源下载地址为lena图像下载地址
2、使用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包之后packages.config配置文件如下
?xml version1.0 encodingutf-8?
packagespackage idOpenCvSharp4 version4.9.0.20240103 targetFrameworknet48 /package idOpenCvSharp4.runtime.win version4.9.0.20240103 targetFrameworknet48 /package idSystem.Buffers version4.5.1 targetFrameworknet48 /package idSystem.Memory version4.5.5 targetFrameworknet48 /package idSystem.Numerics.Vectors version4.5.0 targetFrameworknet48 /package idSystem.Runtime.CompilerServices.Unsafe version6.0.0 targetFrameworknet48 /package idSystem.ValueTuple version4.5.0 targetFrameworknet48 /
/packagesC#示例代码
对应的C#代码如下
using OpenCvSharp;namespace OpenCVExample
{public class Program{/// summary/// OpenCV的5个基础函数-灰度化、高斯模糊、Canny边缘检测、膨胀、腐蚀/// /summarypublic 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中运行上述代码结果如下图所示 参考资料
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