目录
边缘检测
导数与边缘
什么是梯度?
边缘检测
问题是我们该怎么办?
我们如何计算? 要算出图像中的像素。
像素是某个位置x y,实际上是一个边缘像素。
也就是说它落在边缘上或者是边缘的一部分。
思考这个问题,我们必须回到图像作为函数的概念。
这是我们的喜剧女演员:
这是同一个函数的两种不同表示。
一个只是碰巧以图片的形式呈现给你,所以你习惯了看到它,尽管它很吓人。
另一个是这个高度图,高度与强度成正比。如图:
很明显的是这些边,这是她脸旁边的边缘。
实际上是一个陡峭的悬崖在旁边,在那个函数:
我们要从根本上寻找的是图像函数中的这些急剧变化。
听起来很简单。
在一个小区域,我可以确定我在一个会发生非常强烈变化的地方吗?
看起来并不难。
我们需要回答两件事才能做到这一点。
如果我们试图观察一个有强烈变化迹象的区域。
我们有一个问题,一个区域有多大?
那么,检测变化是什么意思呢?
变化是多少?
我们如何确定变化的确切位置呢?
以下是一个函数的例子,它的想法是,你知道,边缘可能是这样的:
我们的第一个问题当然是,我们不能那样做。
我们必须选择我们所说的边缘的像素。如图:
我们不能说它介于两者之间,好吧,我们可以说,它是在像素之间,但我们,我们往往不这样做,对吧?
所以这里的想法是80年代在一边而20年代和30年代在另一边,所以我们必须努力去寻找那些。如图:
导数与边缘
当我们讨论函数时变化是关于什么?
变化是关于导数的?
这就是为什么我们要讨论关于函数的导数。
这里我们有一个非常简单的图像,我将向你们展示一个水平行的图,如果我们只取一行。如图:
我们在它右边再画一个强度图边。你会看到它从高开始,然后平稳下降,然后又上升。如图:
好的,这是一个很好的平滑图像。
正如你们所记得的,当你们在微积分课上看变化的时候,你们会求导数。
如果对这个函数求导,会得到一个这样的函数。如图:
这是扫描直线的一阶导数,就是这些边,对应于导数的极值。
这是第三个图左下方是负斜率的最大值。第三图右上边是最大正斜率。如图:
第三个图左边这是负的最大值,右上边是正的最大值。
所以,求边与求导数的峰值有关。
那么我们如何在导数中找到极值呢? 就像我们发现其他东西一样。我们怎么找到沃尔多?
我们运行一些过滤器,应用一些过滤器,寻找它的响应。
我们要用恰当的运算符来过滤图像以便找到导数中的峰值。
什么是梯度?
我们来讨论微分算子。
微分运算符,当应用到图像上时,它会返回一些导数。
我们将把这些运算符建模为过滤器,掩码,内核,它们将计算图像梯度函数。
然后我们要用阈值来确定这个梯度函数的边缘像素。
所有这些都让我们想到一个问题,什么是梯度?
对于那些已经好一阵子没看过微积分课程的同学,我们要提醒你们一下多元微积分了。
多元函数是指一个函数有多个变量。
例如,图像是两个变量 x 和 y 的函数 f 。
当我有不止一个变量的函数时,我可以取偏导。x 方向的导数,或者 y 方向的导数。
梯度向量是由这些导数组成的向量。让我们来看看图片:
我把它写成图像的梯度。这就是我要用来表示梯度的算子。
图像只是两个向量,由 f 关于 x 的部分,图像在 x 方向上的梯度,和f关于 y 的部分组成。如图:
这是一个图像。如图:
在这张图中,它只在x方向上变化。
所以它的梯度就是x方向上的变化量,y方向上的变化量是0。
同样,这个图像只在y方向上变化。如图:
在这种情况下,我们可以把y看成向下的时候,它是正的,我们讨论过这个,
或者你可以说,这是梯度向量的方向,在这个方向上它变亮了。
所以在这个图像中,梯度是0,f 关于 x 的偏导,f 关于 y 的偏导。如图:
通常,两个方向都有变化,这就是梯度向量本身。如图:
它是 f 对 x 的偏导和 f 对 y 的偏导。
它有一个数量级,即物体变亮的速度有多快。
你还可以看到这个角,如图:
它是梯度向量的方向,函数的梯度是强度最快速增加的方向,
并且该向量的大小是它在该方向上作为单位步长的函数而变化的程度。
这里我们只是用数学的方法来表达。如图:
梯度由两个偏导数给出。
可以通过计算反正切来计算方向。也就是y变化量除以x变化量的反正切。
如果f关于x的偏导是0,那么机器就不会爆炸。
然后我们还可以讨论梯度的大小也就是这些和的大小,它告诉你函数变化的速度有多快。
当然,这显然与边缘有关,因为记住我们说过,边缘,我们遇到陡峭的悬崖,那里的东西变化很大,
所以当我们找到边缘时,我们要寻找大量的梯度。
小测验:
当图像梯度的大小为0时,这意味着什么?
A、图像在整个邻域内是恒定的。
B,基本函数在最大值。
C,基本函数最小。
D、A B C。
答案:D。如果你还记得微积分,当你有一个函数时,当它达到最大值时它既不上升也不下降,对吧? 斜率是0。
我有一个函数,我有一个图像它有一个很好的亮点,在最亮的地方。梯度是0。
同样的,如果我在一个洞里,在最暗的部分,梯度是0。
当然如果整个图像是118 ? 常数,没有任何变化。
在一个邻域上,梯度也是0。
所以在这三种情况下梯度都是零。
——学会编写自己的代码,才能练出真功夫。