图像处理(六)灰度形态学腐蚀与膨胀

本文介绍了灰度图像的腐蚀和膨胀运算,阐述了数学定义及自然语言描述。腐蚀运算是邻域块中图像值与结构元素差的最小值,而膨胀运算是邻域块中图像值与结构元素和的最大值。在灰度形态学中,通常使用平坦结构元素。文中还提及对RGB图像进行处理,使灰度运算适用于彩色图像,但指出对彩色图像的腐蚀和膨胀没有统一定义,所提方法仅供参考。最后,提到了3*3模板的算法实现。
摘要由CSDN通过智能技术生成

灰度图像的腐蚀运算的数学定义为:


其中,g(x,y)为腐蚀后的灰度图像,f(x,y)为原灰度图像,B为结构元素。

用自然语言描述即:

          腐蚀运算是由结构元素确定的邻域块中选取图像值与结构元素值的差的最小值。

灰度图像的膨胀运算的数学定义为:


用自然语言描述即:

          膨胀运算是由结构元素确定的邻域块中选取图像值与结构元素值的和的最大值

在灰度形态学中,一般选择平坦的结构元素。所谓“平坦”,就是指结构元素的高度为零。因此这样的结构元素,B的值在D­b ­­的定义域内的所有坐标均处均为0,则上面两个公式可以重写为:


我在这对RGB三个通道都进行了处理使得灰度膨胀和腐蚀运算对彩色图像同样有效。但目前对彩色图像的腐蚀和膨胀没有统一的定义,此方法仅作参考。

以下是算法实现(选择的模板为3*3):

  /// <summary>
    /// 腐蚀运算
    /// </summary>
    /// <param name="srcBmp">原始图像</param>
    /// <param name="dstBmp">目标图像</param>
    /// <returns>处理成功 true 失败 false</returns>
    public static bool Erode(Bitmap srcBmp, out Bitmap dstBmp) {
        if (srcBmp == null) {
            dstBmp = null;
            return false;
        }
        Bitmap grayBmp = null;
        dstBmp = new Bitmap(srcBmp);
        BitmapData bmpDataGray = null;
        ToGray(srcBmp, out grayBmp);
        bmpDataGray = grayBmp.LockBits(new Rectangle(0, 0, grayBmp.Width, grayBmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
        BitmapData bmpDataSrc = srcBmp.LockBits(new Rectangle(0, 0, srcBmp.Width, srcBmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
        BitmapData bmpDataDst = dstBmp.LockBits(new Rectangle(0, 0, dstBmp.Width, dstBmp.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
        unsafe {
            int[] grayValueArray = new int[25];
            long[] index = new long[25];
            for (int i = 0; i < 25; i++) {
                grayValueArray[i] = 255;
            }
            byte* ptrSrc = (byte*)bmpDataSrc.Scan0;
            byte* ptrDst = (byte*)bmpDataDst.Scan0;
            byte* ptrGray = null;           
         
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值