数字图像处理:(4)二阶微分在数字图像处理中的应用

news/2024/9/19 8:14:12

目录

0、前言

1、二阶微分算子的性质

2、二阶微分算子

2.1、Laplacian算子

2.2、LOG算子


0、前言

微分算子其应用着重于图像中的灰度突变区域,而非灰度级缓慢变化的区域。

之前所介绍的一阶微分算子,他们的计算都是一次,左边减去右边一次,下边减去上边一次,本节所介绍的是二阶微分算子,简单来说就是两次计算,左边减去右边两次,下边减去上边也是两次。

思路:

为了能设计出兼顾所有方向的''边缘滤波器'',就是即使不是360度划分的很密集的方向,那么至少是在上下垂直对角线上兼顾一下呢?操作就是使用减中心像素的思想,就是把四周的信息,和我们关心的中间点的信息进行对比,即把上下左右对角线上的和中间都比一下,把比较的总体结果进行一个中和;

1、二阶微分算子的性质

 使用二阶微分进行图像锐化; 

二阶微分,是一阶微分的导数,和一阶微分相对应,二阶微分的性质:

  • (1)在恒定区域二阶微分值为0;
  • (2)在灰度台阶或斜坡的起点处微分值不为0;
  • (3)沿着斜坡的微分值为0;

2、二阶微分算子

2.1、Laplacian算子

Laplacian算子是二阶的Sobel导数,在OpenCV中是通过调用Sobel算子来计算Laplacian算子的,使用的公式和卷积核如下:

如下计算P5点他的Laplacian算子的梯度:

88为一个图像中的像素点,计算该点的梯度值。

  相当于是左边和右边运算两次:P4-P5和 P6-P5(相当于上下与中间像素操作两次)

上边和下边运算两次:P2-P5P8-P5

 一阶微分算子每个方向上(X和Y方向)都是运算了一次。(在同一个方向上只运算了一次。)

 而二阶微分算子,Laplacian算子在X方向上是左边减去中间一次,右边也减去中间一次;在Y方向上下边减去中间,上边也减去中间。(切记操作都是取的绝对值)实际上每个方向上都运算了两次(所以是二阶导数,不知道这样理解对不对?意味着在同一个方向上边我进行了两次操作,都这么直观的理解二阶的由来)

在OpenCV里边不需要我们一步步的去算,他直接给我们提供了Laplacian这个函数:

通过调用下边函数就可以对图像进行Laplacian算子的梯度计算:

 

实际应用中,还会有假如对角线方向上的考虑。 

PS:Laplacian其实就是一个二阶导数,用来寻找零交叉点的。

2.2、LOG算子

LOG(Laplacian of Gaussian):在使用高斯滤波器对f(x,y)滤波(平滑)之后,通过寻找零交叉来查找边缘。(因为二阶导数对图像是非常敏感的,所以一般先进行滤波操作,再进行边缘查找。)

参考链接:https://www.cnblogs.com/wj-1314/p/9800272.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pgtn.cn/news/17840.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Java BufferImage图片处理(获取宽高、图片截取、转换灰度图)

Java BufferImage图片处理(获取宽高、截取、转换灰度图)1. 效果图2. 源码参考这篇博客将介绍如何使用Java读取图片为byte[]数组,或者BufferedImage及互相转换,并进行了转换图片为灰度图,截取部分区域等; 1…

T-SQL Convert转换时间类型

关键字: sql 时间 转化 SQL中CONVERT转化函数的用法 格式: CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 例子: SELECT CONVERT(varchar(30),getdate(),101) n…

Zotero使用

Zotero下载链接: https://www.zotero.org/download/ 如何在Zotero中设置webdav连接到坚果云? https://help.jianguoyun.com/?p3168 Zotero入门六篇: https://www.douban.com/group/topic/45562674/ 坚果云下载链接: https…

Python,OpenCV进行直方图反投影

Python,OpenCV进行直方图反投影 1. 效果图2. 源码参考这篇博客将介绍Python,OpenCV中的直方图反投影。直方图反投影用于图像分割或在图像中查找感兴趣的对象。 简单地说,它创建了一个与输入图像大小相同(但只有一个通道)的图像,其中每个像素对应于该像素属于感兴趣对象的…

halcon与QT联合:(5.4)瓶盖检测以及QT界面搭建

接着上篇博客的鼠标滚轮事件之后,本次要完成的是基于结构体的变量管理以及如何让参数与界面进行关联。 ---------------------------------1、下面实现的是变量管理---------------------------------- 基于结构体的变量管理: 个人习惯:在写…

OpenCV中的姿势估计及3D效果(3D坐标轴,3D立方体)绘制

OpenCV中的姿势估计及3D效果(3D坐标轴,3D立方体)绘制 1. 效果图2. 原理3. 源码3.1 姿态估计后绘制3D坐标轴3.2 姿态估计后绘制立方体参考这篇博客将延续上一篇博客:OpenCV中的相机失真、内外参、不失真图像、相机校准 , 学习如何利用 calib3d 模块在图像中创建一些 3D 效果…

数字图像处理:(5)非微分算子在数字图像处理中的应用

本节是非微分边缘检测算子——Canny算子 边缘是图像中灰度有阶跃变化,或屋顶变化的像素的结合。 1、 Canny算子边缘检测基本原理 该算子功能比前面几种都要好,但是它实现起来较为麻烦,Canny算子是一个具有滤波,增强,检…

创建Silverlight自定义启动画面

每一款商业的Silverlight项目,为了体现项目个性化,都会有不同的界面设计,项目UI设计的第一步就是创建个性的自定义启动画面,本文将介绍如何创建Silverlight自定义启动画面,也就是经常说的Splash Screen. Silverlight初…