一、Sobel算子

1、定义

Sobel算子是一种离散的微分算子,结合了高斯平滑和微分求导运算,利用局部拆分寻找边缘,计算所得的是一个梯度的近似值。
Sobel算子=|左-右|/|下-上|
Scharr算子=|左-右|/|下-上|

2、原理

滤波器指由一幅图根据像素点(x,y)临近的区域计算得到另外一幅新图像的算法。滤波的目标像素点的值等于原始像素值及其周围像素值的加权和。

3、Sobel算子和Scharr算子比较

Sobel算子当其核结构较小时,精确度不高,而Scharr算子具有较高的精度。

4、代码

# 索贝尔算子:当边缘很多时用,但对噪声敏感
def sobel_demo(image):""":param image: Scharr(src, ddepth, dx, dy, dst=None, scale=None, delta=None, borderType=None):return: src:原始图像ddepth:输出图像深度dx:x方向上的倒数阶数dy:y方向上的倒数阶数dst:输出图像scale:计算导数值的缩放因子,可选,1表示没有缩放delta:加到目标图像上的亮度值,可选,默认0borderType:边界样式"""# 求x方向边缘梯度,dx=1,dy=0grad_x = cv.Scharr(image, cv.CV_32F, 1, 0)# 求y方向边缘梯度,dx=0,dy=1grad_y = cv.Scharr(image, cv.CV_32F, 0, 1)"""convertScaleAbs(src, dst=None, alpha=None, beta=None):对参数取绝对值,映射为8位类型src:原始图像dst:处理结果alpha:调节参数,可选,默认1beta:调节亮度值,可选,默认0"""gradx = cv.convertScaleAbs(grad_x)grady = cv.convertScaleAbs(grad_y)cv.imshow('gradient_x', gradx)cv.imshow('gradient_y', grady)# x和y方向的梯度集合gradxy = cv.addWeighted(gradx, 0.5, grady, 0.5, 0)cv.imshow('gradient', gradxy)
  • x和y方向梯度图像

  • x和y方向集合的梯度图像

二、Laplacian算子

拉普拉斯算子是一种二阶导数算子,具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)要求,其算子的系数之和为零。

Laplacian算子=|左-右|+|左-右|+|下-上|+|下-上|

# 拉普拉斯算子:
def lapalian_demo(image):# 第一种:拉普拉斯算子dst = cv.Laplacian(image, cv.CV_32F)# 第二种:自定义集合 kernel = np.array([[0, 1, 0], [1, -4, 1], [0, 1, 0]])# filter2D:利用内核实现对图像的卷积运算。dst1 = cv.filter2D(image, cv.CV_32F, kernel=kernel)lpls = cv.convertScaleAbs(dst)lpls1 = cv.convertScaleAbs(dst1)cv.imshow('lapalian_demo', lpls)cv.imshow('lapalian_demo1', lpls1)

图像梯度——Sobel算子和Laplacian算子相关推荐

  1. 12-图像梯度-Scharr算子和laplacian算子

    Scharr算子 cv2.Scharr(img,cv2.CV_64F,1,0) 第一个参数:当前的图像对象名称 第二个参数:当前图像的深度,通常情况下指定为-1,表示输出和输入的深度是一样的:cv2. ...

  2. python图像锐化 增强边缘_[Python图像处理]十一.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子,Schar算子...

    Roberts算子 Roberts算子即为交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条.常用来处理具有陡峭的第噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更 ...

  3. Opencv(C++)笔记--Sobel算子和laplacian算子

    目录 1--Sobel算子 1-1--原理 1-2--Opencv API 1-3--代码实例 1-4--Scharr算子 1-5--扩展操作 2--laplacian算子 2-1--原理 2-2-- ...

  4. 边缘检测之Sobel算子和Canny算子

    文章目录 一.Sobel 算子 1.1.什么是 Sobel 算子 1.2.原理 1.3.过程中的问题 1.4.OpenCV 实操 二.Canny 算子 2.1.原理 2.2.OpenCV 实操 三.对 ...

  5. [Python图像处理] 十八.图像锐化与边缘检测之Scharr算子、Canny算子和LOG算子

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. 数字图像处理---LOG算子和CANNY算子边缘提取(matlab)

    LOG算子和CANNY算子边缘提取 边缘的含义: 在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变.纹理结构的突变.颜色 ...

  7. Laplace算子和Laplacian矩陣

    1 Laplace算子的物理意義 Laplace算子的定義為梯度的散度. 在Cartesian坐標系下也可表示為: 或者,它是Hessian矩陣的跡: 以熱傳導方程為例,因為熱流與溫度的梯度成正比,那 ...

  8. python-opencv之图像梯度Sobel、Scharr、Laplacian算子边缘检测

    Sobel算子 是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度,梯度越大越有可能是边缘. Soble算子的功能集合了高斯平滑和微分求导 ...

  9. OpenCV--033_2: 图像梯度--Sobel算子

    索贝尔算子(Sobel operator) 主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值.在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量. So ...

最新文章

  1. iOS下JS与OC互相调用(二)--WKWebView 拦截URL
  2. css中单位em和rem
  3. 【学习总结】数学-欧拉函数
  4. 用aspect在springboot中记录操作日志至数据库的详细过程
  5. 产品认知:产品经理需要具备哪些核心竞争力?
  6. LeetCode 914. 卡牌分组(最大公约数)
  7. mac电脑本地运行MapReduce, Permission denied
  8. linux chmod修改权限失败,Linux chmod修改文件夹权限
  9. MVC中的View2(转)
  10. 2022 年不错的 SQL 注入 (SQLi) 检测工具
  11. macbook air 安装双系统windows10手册及避坑技巧
  12. 怎样开启Win7快速启动栏
  13. 微信小程序 带可拖动进度条和时间显示的音频播放器
  14. win10系统地图无法定位服务器,Win10无法启用定位功能(灰色)解决办法
  15. Python 读取HTML表格 pd.read_html()
  16. 创建两个线程,其中一个输出1-52,另外一个输出A-Z。输出格式要求:12A 34B 56C 78D 依次类推
  17. java subject类_RxJava 常见误区(一):过度使用 Subject
  18. 有哪些手游的账号卖了值钱?
  19. [2023最新]美少妇Metasploit(MSF)下载安装及使用详解,永久免费使用,环境配置和使用技巧指南
  20. 中台做不起来?是技术的问题,还是人的问题

热门文章

  1. 猎豹移动CTO:以云为基础锚定内容新市场
  2. AI讲房、VR看房、楼盘字典……居住服务领域的一哥,走了这样一条产业互联网之路...
  3. 买单侠显示服务器异常,买单侠将服务理念融入科技与各环节,寻求稳定发展
  4. C++实现鼠标控制 封装常见的模拟鼠标、键盘的操作函数
  5. sql查询数据库注释(表及表注释,字段及字段注释)
  6. 刘德华的号召力,一则广告引发的潮流
  7. java取得输入的运算符_java第三天(运算符、键盘录入和控制语句)
  8. year by year
  9. 计算机更换内存条后无法连接网络,求助! 电脑加了内存条 运行反而变慢了
  10. A Survey of Simultaneous Localization and Mapping 论文精读笔记