图像处理之_导数微分

article/2025/8/22 0:07:42

1. 一阶导数应用:图像的梯度

1) 用途:

在图像处理中, 常用梯度求取图像的边缘, 这是一个很基础的应用. 下图为在OpenCV中使用cvSobel()函数的具体效果. 四张图分别为: 原图, 在x方向上的梯度, y方向上的梯度, xy方向上的梯度.
这里写图片描述

2) 二元函数

这里我们只讨论二元函数z=f(x,y)的导数, 通常把二元函数想像成一个曲面, 公式中的x,y,z分别映射到坐标系中的x,y,z轴. 于是我们看到了很多像山坡一样的三维图, 切线, 切面, 很看来很复杂.
我觉得从图像处理的角度看二元函数似乎更容易理解, 为了简化, 我们以一张黑白图为例. x,y轴分别对应成图像的宽和高, 颜色的灰度对应z值: z = f(x,y),每个像素点的颜色值是其坐标(x,y)的函数.
这里写图片描述

3) 梯度的定义

函数 z = f(x,y)在区域D内具有一阶连续偏导数,则对于每一个属于D的点P(x,y),都可定出一个向量,这个向量称为函数 z = f(x,y)在点P处的梯度.记作gradf(x,y). 一般通过求导(微分)来实现的. 导数是函数的局部性质。描述了函数在某一点附近的变化率。

4) 离散图像的梯度

由于图像是一个离散空间,无法求真正的导数,只能通过多项式拟合.图像中某一点的导数,就是该点在x方向和y方向上的变化率.
图像梯度公式如下:
gradf(x,y) = dx i + dy j;
dx(i,j) = I(i+1,j) - I(i,j); // x方向偏导,近似为某行与其上一行的差值
dy(i,j) = I(i,j+1) - I(i,j); // y方向偏导,近似为某列与其上一列的差值
其中,I是图像像素的值(亮度值),(i,j)为像素的坐标。

5) 如何衡量梯度

梯度就是某一点的变化率, 比如图像中的一点, 它可在多个方向上变化 (比如:上,下,左,右,左上,右下,各个角度…), 到底哪个方向上变化最大? 变化有大呢? 这就是梯度的两个重要量度:梯度的方向和梯度的值.
梯度的方向: 函数f(x,y)在P(x,y)点增长最快的方向, 即方向导数中取到最大值的方向.
梯度的值:方向导数的最大值.

a) 方向导数
如果函数z=f(x,y)在点P(x,y)是可微分的,那么函数在该点沿任一方向l的方向导数都存在,且有
这里写图片描述
其中φ为x轴到方向l的转角.
这里写图片描述
b) 梯度的模
梯度是方向导数分别在x,y轴的投影(dx(i,j),dy(i,j)).梯度的模就是方向导数的值,用勾股定理求得.
这里写图片描述
c) 梯度的方向
x轴到l的转角的正切为
这里写图片描述
已知x,y方向上的偏导, 再通过反正切, 就可以求出具体的角度(与x轴的夹角), 即梯度的方向.

6) 更复杂的情况

为简单说明,上面只考虑了一个象素与它上一行/上一列的差值,实际运算时,一般考虑以它为中心的NxN的小区域,小区域中各点权重不同,通过卷积计算(离得越远的点,权重越小),从而计算它各个方向上的变化.

7) 梯度图像

由图像上各点的梯度值构成的图像成为梯度图像, 往往放在另一个矩阵中, 看起来就是轮廓图, 即上面公式中的gradf(x,y)在各个x,y点上的值的序列.

2. 二阶导数应用:拉普拉斯变换

1) 用途

用于检测团块,边缘检测,突出图像中的孤立点、孤立线或线端点为目的的场合;图像的锐化操作(拉普拉斯变换后的图与原图叠加)

2) 方法

对x和y方向求二阶偏导数,然后相加
这里写图片描述
该方程的离散形式是
这里写图片描述
为什么二阶导数这样离散成这种形式呢?以x方向为例(见下图),点与其邻近点的差导是一阶导数,如:
(f(x+1,y) - f(x,y) 和 (f(x,y) - f(x-1,y))
一阶导数(梯度图像)的差异就是二阶导数
(f(x+1,y) - f(x,y)) - (f(x,y) - f(x-1,y)) = f(x+1,y) + f(x-1,y) – 2f(x,y)
y方同理,即得出以上公式
这里写图片描述
当在图像边缘作用时(例如,从暗到亮)我们可以观察到灰度值的上升必然意味着从正曲度(强度升高)到负曲度(强度达到瓶颈)的变化。因此,拉普拉斯变换结果从正到负(或者相反)组成了一个图像边沿的很好的指示器。另一种方法表达这个事实是说,边沿出现在拉普拉斯变换的过零点处。

3. 参考

1) 多元函数微分法及其应用
《高等数学》下册,“方向导数与梯度”章节

2) 图像处理中的拉普拉斯算子
http://www.cnblogs.com/xfzhang/archive/2011/01/19/1939020.html


http://chatgpt.dhexx.cn/article/DsonXqbe.shtml

相关文章

如何理解微分、差分、导数

先说差分和微分 自变量x的差分就是微分 即: Δxdx 因变量y的差分是函数y的变化量 即 Δyy(xΔx)-y(x) 因变量y的微分是指函数图像在某一点处的切线在横坐标取得增量Δx以后,纵坐标取得的增量dy。 dyf(x)dx 总结: 微分是差分的线…

神经网络学习之导数

在神经网络中,有一个常用的激活函数sigmoid函数,这个函数在高等数学中应该是有的,只是当时没有理会。函数图像如下,本文主要主要梳理下相应的数学知识,具体的应用在后续的文章中会涉及。 本文涉及到数学公式&#xff…

Matlat计算符号导数

MATLAB提供用于计算符号导数的diff命令。 如下;指定t为变量,输入一个函数表达式,使用diff(f)求其导数; 再计算一个; 输入一些常用函数,查看其导数;例如sin(x)的导数是cos(x),cos(x…

R语言数值导数

文章目录 3 数值导数 3 数值导数 根据导数的定义,当函数的定义域不连续时,其不连续处显然是不存在导数的,但图形可以“欺骗”我们的眼睛。 > x seq(-1,1,0.1) > y sin(x) > y1 cos(x) > xEnd x0.1 > yEnd yy1*0.1 >…

MATLAB之怎样利用MATLAB中值差分法求一阶二阶导数

** MATLAB初学之怎么利用中值差分法求一阶二阶导数 ** 我们最近在学习MATLAB。在MATLAB中怎么求导数? MATLAB中有专门求导的函数 针对f(x)类的函数: diff(f,x) :求f关于x的导数 diff(diff(f,x),x):求f二阶导数 针对f(x,y)类的函数求偏导: diff(f,x) :求f关于x…

C语言之自然对数ln(x)的导数

设计要求:求自然对数ln(x)的导数,输入双精度实数x>1,输出自然实数ln(x)的导数(精确到小数点后2位有效数,小数点后第2位四舍五入所得)。 详细设计: lnx的导数的设计主要是利用到高等数学的导…

python实现之导数

导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数yf(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存…

python实现之一阶二阶导数

函数的和、差、积、商的求导法则 uu(x),vv(x) (uv)uv (u-v)u-v (Cu)Cu (uv)uvuv (u/v)(uv-uv)/v^2 复合函数求导法则 yf(u),uφ(v) 复合函数yf[φ(v)]的导数为 dy/dxdy/du*du/dxf(u)*φ(v) (u-vz)u-vz,且(Cu)Cu exam1: y 2*x*^3 -5*x^23*x-7 y6*x^2-10x3…

《高等数学》 总结 导数、微分、不定积分

必须掌握各个概念的定义。从定义中,深入的理解概念,以及发掘概念之间的相互联系。 导数&微分 微积分有两种定义: 1、古典微积分 这是一种直观、便于理解的定义。首先定义微分是微小变化量。比如函数y=f(x)中dx是x的微小变化量,那么dy就是dx对应的y的微小变化。导数…

电脑连不上WiFi,右下角出现红叉怎么解决

我的电脑经常出现这个问题,后来解决得多了就知道方法了,是我的电脑无线网卡驱动的问题,解决办法: 1.电脑桌面单击此电脑,右键选择属性 2.选择网络适配器,一般出现问题就是因为网络适配器列表里面的一些东…

windows10 右下角网络连接栏显示一个电脑加上一个红叉,已解决

如下图所示: 解决办法: 找到命令行(黑窗口)管理员身份打开,一定要管理员身份,win10权限比较高输入 netsh winsock reset重启电脑即可

日常和电脑的斗争之如何解决电脑wifi出现红叉

当wifi上面显示红叉并且出现,无连接不可用字样,首先确保无锡那网络处于可连接状态,FnF2,然后请做以下操作: 1:点击开始----控制面板-----网络和Internet----网络和共享中心------更改适配器设置 2:检查无线…

电脑右下角网络图标有个红叉但是可以上网

主要原因分析: 原因1:电脑出现缓存,打开网络配置,右键刷新几下,有时就好了。 原因2:系统服务未启动,或系统服务配置错误。 网络图标打红叉却能上网解决方法/步骤: 第1步:打开开始菜单…

WIN10 - WLAN网络适配器红叉-重新启动后依然红叉

你的电脑右下端显示: 单机右键 打开网络和Internet设置 点击更改适配器选项: 重启仍然无效。 解决: 尝试一:开始 ----> 命令提示符 ,注意右键以管理员身份运行。 输入 netsh winsock reset 回车,重启…

Win7系统网络连接图标显示红叉但可以正常上网怎么办

近日小编在使用win7系统的时候,发现这样一个情况,就是电脑右下角的网络连接图标显示红叉,可是明明已经连接上网络了,而且可以正常上网,这是怎么回事呢?接下来给大家讲解一下Win7系统网络连接图标显示红叉但…

电脑无线上有个红叉,解决方法

今天打开电脑无线上就有个红叉,开始以为是无线没开,就按了fnf3(电脑上无线开关),还是没反应连不上网,插上有线也是一样连不上 用电脑管家检测了下,可能是驱动问题,打开设备管理器,驱动也显示正常…

win7计算机网络连接,笔记本win7无线网络红叉电脑网络连接不可用的解决方法

笔记本win7无线网络红叉电脑网络连接不可用的解决方法分享给大家,网络连接是每一天电脑必备的,就像一个人的灵魂,没有了网络,电脑等于一台废掉的机器,因此无线网络连接故障是大家最关心的问题,也是遇到最多…

笔记本电脑右下角网络图标显示红叉

1.找到桌面上的计算机图标,选择并右击它,然后在弹出的各项中选择并点击“管理”。 2.之后弹出计算机管理窗口,在窗口的左边栏依照计算机管理(本地)、系统工具、性能往下找,在性能下面会看到有“设备管理器”…

计算机网络连接图标 红叉,win7系统网络连接成功但图标显示红叉的解决方法

很多小伙伴都遇到过win7系统网络连接成功但图标显示红叉的困惑吧,一些朋友看过网上零散的win7系统网络连接成功但图标显示红叉的处理方法,并没有完完全全明白win7系统网络连接成功但图标显示红叉是如何解决的,今天小编准备了简单的解决办法&a…