Opencv图像预处理(三)

blur(均值滤波)

一种常用的图像平滑处理方法,通过将像素的领域内像素值取平均来减少图像中的噪声,从而达到图像平滑的效果,图像会更模糊。

C# 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp;

namespace _03_blur_均值滤波_
{
    internal class Program
    {
        static void Main(string[] args)
        {
         Mat scrImage =   Cv2.ImRead(@"F:\AI视觉23班\06_OpenCV\images\girl3.jpg");
            Cv2.ImShow("原图", scrImage);
            //定义一个矩阵,接收Blur() 函数处理之后的图像
            Mat dstImage =new Mat();

            //参数1:输入的图像
            //参数2:输出的图像
            //参数3:卷积核大小
          Cv2.Blur(scrImage, dstImage, new Size()
          {
              Width=10, 
              Height=10
          });

            Cv2.ImShow("效果", dstImage);
            Cv2.WaitKey(0);

        }
    }
}

高斯滤波

高斯滤波是一种线性平滑滤波器,它利用高斯函数对图像进行加权平均,可以有效地去除高斯噪声,同时平滑图像。

C# 复制代码
 Cv2.GaussianBlur(srcImage, dstImage4, new Size(3, 3));

课外扩展:https://www.jianshu.com/p/525ca85dad4e

图像腐蚀与膨胀

腐蚀:形态学操作,用于缩小图像中的亮区域,同时扩展暗区域(像素值较小的区域)。原理是在图像上滑动结构元素,将结构元素覆盖区域内的像素设置为最小像素值。腐蚀操作可以消除小的噪声、分割相连的区域,并改变区域的形状。

膨胀:形态学操作,用于扩展图像中的亮区域(像素值较大的区域)。它的原理是在图像上滑动结构元素,将结构元素覆盖区域内的像素设置为最大像素值。膨胀操作可以增加亮区域的大小,填充小的空洞,以及连接相邻的区域。

C# 复制代码
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04_图像腐蚀与膨胀
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Mat scrImage = Cv2.ImRead(@"F:\AI视觉23班\06_OpenCV\images\girl3.jpg");
            Cv2.ImShow("原图", scrImage);
            //定义一个矩阵,接收Blur() 函数处理之后的图像
            Mat dstImage = new Mat();

            //创建腐蚀/膨胀的形状
            //参数1:枚举类型  定义创建的区域形状
            //MorphShapes.Rect  矩形
            //MorphShapes.Ellipse 椭圆
            //MorphShapes.Cross 十字形
            Mat elem = Cv2.GetStructuringElement(MorphShapes.Cross, new Size() { Width = 15, Height = 15 });

            //腐蚀
            //参数1:输入图像
            //参数2:输出图像
            //参数3:腐蚀的形状和大小
            //参数4:腐蚀的中心点(可选参数,默认值是图像的中心点)
            //参数5:扩展的方式(可选参数)
            //参数6:扩展填充的值(可选参数)
            // Cv2.Erode(scrImage, dstImage, elem);



            //膨胀  参数与腐蚀相同
            Cv2.Dilate(scrImage, dstImage, elem);

            Cv2.ImShow("效果", dstImage);
            Cv2.WaitKey(0);

        }
    }
 
}

开运算闭运算

开运算:先进行腐蚀操作,然后进行膨胀操作。通常用于去除小的噪声点。

C# 复制代码
Cv2.MorphologyEx(输入图像, 输出图像, MorphTypes.Open,操作的形状);

闭运算: 先进行膨胀操作,然后进行腐蚀操作。通常用于填充小的空洞。

C# 复制代码
Cv2.MorphologyEx(srcImage, dstImageClose, MorphTypes.Close, element);
相关推荐
m0_743106461 小时前
【论文笔记】MV-DUSt3R+:两秒重建一个3D场景
论文阅读·深度学习·计算机视觉·3d·几何学
m0_743106461 小时前
【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法
论文阅读·深度学习·计算机视觉·3d·几何学
井底哇哇4 小时前
ChatGPT是强人工智能吗?
人工智能·chatgpt
Coovally AI模型快速验证4 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
AI浩5 小时前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控5 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
一水鉴天5 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
倔强的石头1065 小时前
解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
人工智能·架构
佛州小李哥6 小时前
Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
说私域6 小时前
社群裂变+2+1链动新纪元:S2B2C小程序如何重塑企业客户管理版图?
大数据·人工智能·小程序·开源