图像梯度——Sobel算子和Laplacian算子
一、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算子相关推荐
- 12-图像梯度-Scharr算子和laplacian算子
Scharr算子 cv2.Scharr(img,cv2.CV_64F,1,0) 第一个参数:当前的图像对象名称 第二个参数:当前图像的深度,通常情况下指定为-1,表示输出和输入的深度是一样的:cv2. ...
- python图像锐化 增强边缘_[Python图像处理]十一.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子,Schar算子...
Roberts算子 Roberts算子即为交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条.常用来处理具有陡峭的第噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更 ...
- 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-- ...
- 边缘检测之Sobel算子和Canny算子
文章目录 一.Sobel 算子 1.1.什么是 Sobel 算子 1.2.原理 1.3.过程中的问题 1.4.OpenCV 实操 二.Canny 算子 2.1.原理 2.2.OpenCV 实操 三.对 ...
- [Python图像处理] 十八.图像锐化与边缘检测之Scharr算子、Canny算子和LOG算子
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 数字图像处理---LOG算子和CANNY算子边缘提取(matlab)
LOG算子和CANNY算子边缘提取 边缘的含义: 在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变.纹理结构的突变.颜色 ...
- Laplace算子和Laplacian矩陣
1 Laplace算子的物理意義 Laplace算子的定義為梯度的散度. 在Cartesian坐標系下也可表示為: 或者,它是Hessian矩陣的跡: 以熱傳導方程為例,因為熱流與溫度的梯度成正比,那 ...
- python-opencv之图像梯度Sobel、Scharr、Laplacian算子边缘检测
Sobel算子 是离散微分算子(discrete differentiation operator),用来计算图像灰度的近似梯度,梯度越大越有可能是边缘. Soble算子的功能集合了高斯平滑和微分求导 ...
- OpenCV--033_2: 图像梯度--Sobel算子
索贝尔算子(Sobel operator) 主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值.在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量. So ...
最新文章
- iOS下JS与OC互相调用(二)--WKWebView 拦截URL
- css中单位em和rem
- 【学习总结】数学-欧拉函数
- 用aspect在springboot中记录操作日志至数据库的详细过程
- 产品认知:产品经理需要具备哪些核心竞争力?
- LeetCode 914. 卡牌分组(最大公约数)
- mac电脑本地运行MapReduce, Permission denied
- linux chmod修改权限失败,Linux chmod修改文件夹权限
- MVC中的View2(转)
- 2022 年不错的 SQL 注入 (SQLi) 检测工具
- macbook air 安装双系统windows10手册及避坑技巧
- 怎样开启Win7快速启动栏
- 微信小程序 带可拖动进度条和时间显示的音频播放器
- win10系统地图无法定位服务器,Win10无法启用定位功能(灰色)解决办法
- Python 读取HTML表格 pd.read_html()
- 创建两个线程,其中一个输出1-52,另外一个输出A-Z。输出格式要求:12A 34B 56C 78D 依次类推
- java subject类_RxJava 常见误区(一):过度使用 Subject
- 有哪些手游的账号卖了值钱?
- [2023最新]美少妇Metasploit(MSF)下载安装及使用详解,永久免费使用,环境配置和使用技巧指南
- 中台做不起来?是技术的问题,还是人的问题
热门文章
- 猎豹移动CTO:以云为基础锚定内容新市场
- AI讲房、VR看房、楼盘字典……居住服务领域的一哥,走了这样一条产业互联网之路...
- 买单侠显示服务器异常,买单侠将服务理念融入科技与各环节,寻求稳定发展
- C++实现鼠标控制 封装常见的模拟鼠标、键盘的操作函数
- sql查询数据库注释(表及表注释,字段及字段注释)
- 刘德华的号召力,一则广告引发的潮流
- java取得输入的运算符_java第三天(运算符、键盘录入和控制语句)
- year by year
- 计算机更换内存条后无法连接网络,求助! 电脑加了内存条 运行反而变慢了
- A Survey of Simultaneous Localization and Mapping 论文精读笔记