• 技术文章 >Python技术 >Python基础教程

    python中Sobel算子是什么

    小妮浅浅小妮浅浅2021-08-20 18:11:42原创3785

    说明

    1、Sobel算子的中文名称是索贝尔算子,是一种用于边缘检测的离散微分算子。

    它结合了高斯平滑和微分求导。

    2、Sobel算子在Prewitt算子的基础上增加了权重的概念,认为相邻点的距离对当前像素点的影响是不同的。

    距离越近的像素点对当前像素的影响越大,从而锐化图像,突出边缘轮廓。

    实例

    import cv2 as cv
        import matplotlib.pyplot as plt
        
        # 读取图像
        img = cv.imread('data.jpg', cv.COLOR_BGR2GRAY)
        rgb_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
        
        # 灰度化处理图像
        grayImage = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
        
        # Sobel 算子
        x = cv.Sobel(grayImage, cv.CV_16S, 1, 0)
        y = cv.Sobel(grayImage, cv.CV_16S, 0, 1)
        
        # 转 uint8 ,图像融合
        absX = cv.convertScaleAbs(x)
        absY = cv.convertScaleAbs(y)
        Sobel = cv.addWeighted(absX, 0.5, absY, 0.5, 0)
        
        # 用来正常显示中文标签
        plt.rcParams['font.sans-serif'] = ['SimHei']
        
        # 显示图形
        titles = ['原始图像', 'Sobel 算子']
        images = [rgb_img, Sobel]
        
        for i in range(2):
            plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')
            plt.title(titles[i])
            plt.xticks([]), plt.yticks([])
        plt.show()

    以上就是python中Sobel算子希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python sobel算子
    上一篇:python中Prewitt算子如何理解 下一篇:python中Sobel算子如何使用

    相关文章推荐

    • python位置参数如何使用• python位置参数的使用注意• python默认参数如何使用• python定义可变参数的两种形式• python逆向参数收集是什么• python函数如何返回多个值• reload在python中的使用• python中socket如何建立服务器• python中socket建立客户连接• python中Roberts算子是什么• python中Prewitt算子如何理解

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网