![2aff18ad7a6e3eee8d2c480a8343334b.png](https://i-blog.csdnimg.cn/blog_migrate/3a9a25d7d650965d9d5ad28d02d4ed1a.jpeg)
有别于广为人知的Sobel、Canny等一阶算法,基于Hessian矩阵能够得到图像二阶结果,这将帮助我们深入分析图像本质。
Hessian矩阵在图像处理中有着广泛的应用:其中在图像分割领域,包括边缘检测、纹理分析等;在图像增强领域,包括边缘增强、边缘消除等。
本文从Hessian矩阵定义出发,通过清晰简洁的数学推导和讲解实现公式到C++代码的转化。
为了帮助深入理解Hessian矩阵在图像处理中的能力,我们将详细讲解和实现经典的“血管增强”算法(Frangi算法)。
目录:
一、Hessian矩阵等相关理论基础
1.Hessian矩阵的由来及定义
2.数字图像处理之尺度空间理论
3.基于尺度理论的Hessian简化算法
4.Hessian矩阵特征值的求解方法
5.Hessian矩阵特征值的图像性质
6.高斯方程及二阶导数
二、“血管增强”算法(Frangi算法)原理
1.认识血管及其增强
2.Frangi论文基本原理
3.Frangi论文优缺点
三、编写代码进行具体实现
1.项目结构
2.计算Hessian矩阵
3.Hessian特征值的计算
4.frangi2d主要过程
1.项目结构
2.计算Hessian矩阵
3.Hessian特征值的计算
4.frangi2d主要过程
需要注意的是:
1、由于本文代码基于OpenCV基础库,所以题目中添加了“OpenCV实现”字样。
2、由于图像的二维特性,所以下文中所有“Hessian矩阵”都特指“二维Hessian矩阵”。
一、理论基础
这里的基础理论有点多,你可以先过一遍,然后在读代码的时候再回过头来加深理解,这样效果比较好。
1. Hessian矩阵的由来及定义
由高等数学知识可知,若一元函数
![263b511932c5e089e0baedd1f1443046.png](https://i-blog.csdnimg.cn/blog_migrate/18fdb3f802deacc95838ebb01e38f540.png)
在
![ac9b7602cbbb3339b95c730facf4eb72.png](https://i-blog.csdnimg.cn/blog_migrate/252a84a6b04f0e535e4466967ebc05a3.png)
点的某个邻域内具有任意阶导数,则
![263b511932c5e089e0baedd1f1443046.png](https://i-blog.csdnimg.cn/blog_migrate/18fdb3f802deacc95838ebb01e38f540.png)
在
![8c2b2f5ed07239ec4eef7cbba90af0d3.png](https://i-blog.csdnimg.cn/blog_migrate/04a16297f769558fe34ff8ced658ff1b.png)
点处的泰勒展开式为:
![ddee519c378610b029e9010c89f459f5.png](https://i-blog.csdnimg.cn/blog_migrate/25fc3a928bae217b7ae0cdf27426184b.png)
,其中
![e50f083de328a9836ee4ea4425d68765.png](https://i-blog.csdnimg.cn/blog_migrate/40a85e0e79517601cb7a159d5b69e090.png)
,
![f7d4b4134dc977bb172dfe5e17791909.png](https://i-blog.csdnimg.cn/blog_migrate/7f83385d4b37679a9c79084898b1b818.png)
。
二元函数
![252a6240357f918863c2c998679edcc3.png](https://i-blog.csdnimg.cn/blog_migrate/94c39c24d67d9f0986412d8aa754fe68.png)
在
![52131830f22f8227d5c8fd68848f9486.png](https://i-blog.csdnimg.cn/blog_migrate/05dbdabc91cdf8909d18c97c10007b0c.png)
点处的泰勒展开式为:
![500d17255d51b999d43a3cb47a82ea07.png](https://i-blog.csdnimg.cn/blog_migrate/177c1e2ac4af9450cf09f9ef479cf59b.png)
![471c05ff0607519ec47f23d4382118ed.png](https://i-blog.csdnimg.cn/blog_migrate/21d8dae0e4fdace562fb59b978cc8856.png)
其中,
![625f47f2ab4dce5f23a3b630cec82a58.png](https://i-blog.csdnimg.cn/blog_migrate/9b1c083d9812c0dea5eff53dabb441a3.png)
。
将上述展开式写成矩阵形式,则有:
![44631d0ce0e346c2d64f5eeb7cb5c83c.png](https://i-blog.csdnimg.cn/blog_migrate/d27aa0c5cc4a7ef82f35b95108478b81.png)
即:
![a058522537d0d609c45c915132933e98.png](https://i-blog.csdnimg.cn/blog_migrate/7ba433ee16cb22f58ff5fc3c4332f856.png)
其中:
![bac8e96ad6864cfe8860845715611ef0.png](https://i-blog.csdnimg.cn/blog_migrate/1c5c606222dc7ba1b9d3630a310c5e5c.jpeg)
![a83c1dac401c6988f16c263fc9e76166.png](https://i-blog.csdnimg.cn/blog_migrate/01fd1aa23bb0a79519d7b43a40d024fc.png)
是