OpenCVSharp 4.5 去除周期性噪声

本文详细介绍了使用OpenCVSharp 4.5 执行OpenCV官方教程中关于周期噪声去除滤波的过程,包括PSD计算、H矩阵合成和频域过滤操作,适合学习者跟随步骤调试和理解OpenCV图像处理技术。

用OpenCVSharp 4.5 跑一遍OpenCV官方教程

原官方教程链接:OpenCV: Periodic Noise Removing Filter

原作者有意埋了坑,完全照抄是不行的....... 

using System;
using OpenCvSharp;
namespace ConsoleApp1
{
    class tutorial33 : ITutorial
    {
        public void Run()
        {
            Mat imgIn = Cv2.ImRead("I:\\csharp\\images\\period_input.jpg", ImreadModes.Grayscale);
            if (imgIn.Empty()) //check whether the image is loaded or not
            {
                Console.Write("ERROR : Image cannot be loaded..!!");
                return;
            }
            imgIn.ConvertTo(imgIn, MatType.CV_32F);
            // it needs to process even image only
            Rect roi = new Rect(0, 0, imgIn.Cols & -2, imgIn.Rows & -2);
            imgIn = imgIn[roi];
            // PSD calculation (start)
            Mat imgPS
在C#中,使用OpenCVSharp处理图像并保持锐度的同时去除椒盐噪声,可以按照以下几个步骤操作: 1. 引入依赖:首先需要安装OpenCVSharp NuGet包,可以在项目管理器中添加对`opencvsharp4.x`的引用。 2. 加载图像:通过`Cv2.ImRead()`函数读取图像文件,并转换为适合处理的Mat矩阵。 ```csharp using System; using Emgu.CV; using Emgu.CV.Structure; // ... var image = new Mat("path_to_your_image.jpg", ImreadModes.Color); ``` 3. 检测并去除椒盐噪声:OpenCV提供了一些滤波器来消除椒盐噪声,比如使用`MedianFilter`进行中值滤波。设置适当的大小(通常5x5或7x7),可以有效地保留图像边缘信息。 ```csharp var medianSize = new Size(5, 5); // 可调整大小 var noisedImage = MedianFilter.Apply(image, medianSize); ``` 4. 提高对比度和锐度:为了增强图像的细节和清晰度,可以应用一些增强锐度的算子,如Sobel算子或UnsharpMasking。例如: ```csharp var kernelSize = new Size(3, 3); var dx = Sobel(noisedImage, DepthType.CV_8U, 1, 0, kernelSize); var dy = Sobel(noisedImage, DepthType.CV_8U, 0, 1, kernelSize); double alpha = 1.5; // 自适应调整强度 double beta = 0.0; // 平衡亮度 var sharpenedImage = UnsharpMask(dx, dy, alpha, beta, kernelSize.Size()); ``` 5. 显示结果:最后将处理后的图像显示出来。 ```csharp Image<Gray, byte> grayImage = noisedImage.To<Gray, byte>(); grayImage.Show("Original Image"); sharpenedImage.Show("Sharpened Image"); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值