社区
图形处理/算法
帖子详情
一阶偏导产生较宽边缘,二阶偏导产生较窄边缘??
UncleQiong
2009-01-21 08:31:43
RT
...全文
307
13
打赏
收藏
一阶偏导产生较宽边缘,二阶偏导产生较窄边缘??
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
UncleQiong
2009-01-22
打赏
举报
回复
这是我个人理解:一阶微分会产生多个峰值(即最低或最高值),用一阶微分做边缘检测,是通过检测峰值来确定一个点是否为边缘点。
而二阶微分会把这些点变为0,只保留一两个点(如斜坡,只保留了坡顶和坡底这两个点),二阶微分是通过检测是否为0来判断是否为边缘点,所以会比较细。
不知道对不对。大家看看。
UncleQiong
2009-01-22
打赏
举报
回复
谢谢6楼的.
arong1234
2009-01-22
打赏
举报
回复
求偏微分有锐化的作用,因此一阶微分可以使得狠明显的边缘被发现,而二阶则可以让不怎么明显
的边缘被发现,不知道你是不是这个意思
chiwa737
2009-01-22
打赏
举报
回复
形象具体, 高手
[Quote=引用 6 楼 eblis88 的回复:]
2楼。。。错了吧
如果边缘是阶越型的
-----
|
---|
边缘的一阶导是
/\
---/ \---
二阶导是
/\
---/ \ ------
\ /
\/
这个和边界的宽,窄,有什么关系呢?
[/Quote]
eblis88
2009-01-22
打赏
举报
回复
对的,一阶微分是找峰值,比较好的是canny的方法,找沿着相角方向的梯度第一个极大值。这样出来的单像素的边缘,不存在宽窄的问题。
如果是判断梯度大于某个阈值,那找到的峰值就会有宽窄之分。就会出现不是单像素的边缘了。
二阶是峰值变0点,但有时候并不是0,因为离散的原因。
所以二阶找过0点很难。通常不会用到。
对有噪声的图,在求梯度前,都要平滑。
平滑会加宽一阶导的支撑域(宽度),画个图就知道了。
总结如下:
所以对平滑后的图像,如果还是用一阶导来找边缘,并且使用梯度阈值的方法找,会有宽边缘。
如果使用canny方法,相角方向梯度极大值找,不会有宽边缘。
对二阶导的图像,用过0点的方法很难找到合适的边缘。例如zerocross。matlab德edge函数提供这个方法,lz可以试一下。
即便是二阶导用zerocross,也要先平滑图像。好在二阶导平滑否不会产生0点的偏移。
你说的不全对,仔细看一下相关的边缘检测代码,就知道了。
最终原因还是代码实现时,是否采用阈值,是否平滑,影响了边缘的宽窄。
实达诚实
2009-01-21
打赏
举报
回复
mark
fjwyshan
2009-01-21
打赏
举报
回复
mark
noenoughmemory
2009-01-21
打赏
举报
回复
mark
Show_Mike
2009-01-21
打赏
举报
回复
理解这个概念,关键在于对偏导/微分的概念的认识.
偏导:多变量函数对某个因变量的导数,表示该函数对这个变量的变化率.
用在图像处理上,表示了象点沿水平或垂直方向上的变化率,即差分值.
一般地,假定边缘与内部区域的像素分布差异在于,内部是相对均匀的,边缘是存在突变的,即边缘函数可以表示为一个单位阶跃函数.
所以,只要这个差分值小于某个阈值就认为是边缘.由于噪声的影响,一阶导数容易受其影响,检测结果过于灵敏,所以产生相对比较宽的边缘(把假边缘也看成边缘);二阶导数,反映的是导数的导数,稳定性好些,所以往往产生比较窄的边缘.
UncleQiong
2009-01-21
打赏
举报
回复
错了.
是一阶微分产生较宽边缘,二阶微分产生较窄边缘??
eblis88
2009-01-21
打赏
举报
回复
上面两个图没画好,这里重新贴一下
/\
---/\/ \-----
/\
___/\ / \ _______
\/ \ /
\/
eblis88
2009-01-21
打赏
举报
回复
2楼的解释方法有些问题。
判断一阶导为边缘的方法,如我上图所示,是找一阶导的极大值。有噪声,那么会产生很多个极大值,所以就会出现伪边缘,所以会有宽窄不一的边缘。如下图
/\
---/\/ \-----
如果这个是一阶导后的结果,如果算法不强,可能把两个峰值都认为是边缘,所以边缘可能更宽。
一般来说不会出现这种情况的,应为大家在用导数找边缘前,会先平滑的,只要平滑了就不会这样。
根据2楼所说,二阶导通常找的是导数的导数。对于上面这种情况。二阶导就像下面这样
理论上2阶导过0点,就是一阶导极大值,就是边缘所在
/\
___/\ / \ _______
\/ \ /
\/
怎么解释找这种东西的过0点呢?找不到的。算法再强也找不到。
所以,在用导数前,都要先平滑,才能避免这种情况的发生。
平滑,才是让边缘变宽的真凶。
平滑,会让一阶导(脉冲型)的支撑域变宽,如果对应方法仍然是取一阶导的阈值(如2楼所说),那么支撑域变宽了,取相同的阈值的宽度也宽了,所以一阶导宽了
二阶导,是取过零点,支撑域变宽不影响过0点的位置。所以比较窄(和一阶导比起来比较窄)
这才是正解!
eblis88
2009-01-21
打赏
举报
回复
2楼。。。错了吧
如果边缘是阶越型的
-----
|
---|
边缘的一阶导是
/\
---/ \---
二阶导是
/\
---/ \ ------
\ /
\/
这个和边界的宽,窄,有什么关系呢?
CV笔记6:图像
边缘
检测之
一阶
微分算子、
二阶
微分算子、Canny
边缘
检测(基于python-opencv实现)
目录 一、
边缘
简介 1.1 何为
边缘
1.2
产生
原因 二、
边缘
检测方法 2.1
一阶
微分算子计算原理 2.2 噪声对
一阶
微分算子的影响及解决方案 2.3 常见的
一阶
微分算子 2.3.1 Roberts算子 2.3.2 Prewitt算子 2.3.3 Sobel算子 2.4
二阶
微分算子计算原理 2.5 常见的
二阶
微分算子 2.5.1 拉普拉斯(Laplace)算子 2...
图像处理中的
一阶
偏导
和
二阶
偏导
1.
一阶
差分: 2.
二阶
偏导
数的推导和近似: 3. 上式以点(i+1,j)为中心,用i代换i+1可得以(i,j)为中心的
二阶
偏导
数则有: 4. 同理: 5. 进而可推导: 6. 这样我们就可以很好的运用其他的
一阶
偏导
的定义,如SIFT特征OpenCV实现版本中的
一阶
以及
二阶
偏导
: [cpp] view plaincopypri
边缘
检测方法 --
一阶
边缘
检测
一阶
边缘
检测 垂直
边缘
: 水平
边缘
: 垂直和水平
边缘
: ...
图像
边缘
检测——
一阶
微分算子 Roberts、Sobel、Prewitt、Kirsch、Robinson(Matlab实现)
图像
边缘
一般指图像的灰度变化率最大的位置。成因主要如下: 1.图像灰度在表面法向变化不连续
图像运算中的
一阶
导与
二阶
导
首先,图像是离散的数据,若求其导数就要用差分的方法,常用的差分方法是前向差分(forward differencing)与中心差分(central differencing)。
一阶
导本质上求的是斜率,
二阶
导求的是拐点。
一阶
导 连续函数,其微分可表达为 ,或, (1.1) 对于图像这种离散的数据,其可以表达为: ,或, ...
图形处理/算法
19,464
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章