二维图像中的Hessian矩阵(及MATLAB代码)
文章目录
- 一、图像中Hessian矩阵的定义及公式推导
- 二、MATLAB代码
一、图像中Hessian矩阵的定义及公式推导
对于二维图像 f ( x , y ) f(x,y) f(x,y),在点 x , y x,y x,y处的Hessian矩阵定义为:
H ( x , y ) = [ I x x I x y I x y I y y ] H(x,y)= \left[ \begin{matrix} I_{xx} & I_{xy} \\ I_{xy} &I_{yy} \\ \end{matrix} \right] H(x,y)=[IxxIxyIxyIyy]
其中 I x x I_{xx} Ixx为高斯二阶微分 ∂ 2 G ( x , y ) ∂ x 2 \frac{\partial^2G(x,y)}{\partial x^2} ∂x2∂2G(x,y)与图像 f ( x , y ) f(x,y) f(x,y)的卷积:
I x x = ∂ 2 G ( x , y ) ∂ x 2 ∗ f ( x , y ) I_{xx}=\frac{\partial^2G(x,y)}{\partial x^2}*f(x,y) Ixx=∂x2∂2G(x,y)∗f(x,y)
且 G ( x , y ) = 1 2 π σ 2 e − x 2 + y 2 2 σ 2 G(x,y)=\frac{1}{2π\sigma^2}e^{-\frac{x^2+y^2}{2\sigma^2}} G(x,y)=2πσ21e−2σ2x2+y2
将两式结合,有:
I x x = 1 2 π σ 4 ( x 2 s i g m a 2 − 1 ) ∂ 2 G ( x , y ) ∂ x 2 ∗ f ( x , y ) I_{xx}=\frac{1}{2π\sigma^4}(\frac{x^2}{sigma^2}-1)\frac{\partial^2G(x,y)}{\partial x^2}*f(x,y) Ixx=2πσ41(sigma2x2−1)∂x2∂2G(x,y)∗f(x,y)
同理可得 I x y 、 I y y I_{xy}、I_{yy} Ixy、Iyy。
二、MATLAB代码
代码如下(示例):
function [Dxx,Dxy,Dyy] = Hessian2D(I,Sigma)
[X,Y] = ndgrid(-round(3*Sigma):round(3*Sigma));
DGaussxx = 1/(2*pi*Sigma^4) * (X.^2/Sigma^2 - 1) .* exp(-(X.^2 + Y.^2)/(2*Sigma^2));
DGaussxy = 1/(2*pi*Sigma^6) * (X .* Y) .* exp(-(X.^2 + Y.^2)/(2*Sigma^2));
DGaussyy = DGaussxx';Dxx = imfilter(I,DGaussxx,'conv');
Dxy = imfilter(I,DGaussxy,'conv');
Dyy = imfilter(I,DGaussyy,'conv');
end
二维图像中的Hessian矩阵(及MATLAB代码)相关推荐
- 【图像分割】基于计算机视觉实现视网膜图像中的血管分割附matlab代码
1 简介 视网膜图像里的血管是可以被观察到的一类微血管,并且它是无创伤的,而其分布位置也属于深度部位[5].其分布.结构和形态特征的变化能在一定程度上反映病变的程度.而白血病.糖尿病以及高血压等疾病都 ...
- 拉普拉斯算子属于卷积方法吗_二维图像中的Laplace算子和图论中的Laplacian矩阵...
最近在阅读 如何理解 Graph Convolutional Network(GCN)?www.zhihu.com 接触到了图论中的Laplacian矩阵,定义为 , 是Laplacian矩阵, 是 ...
- 【图像去噪】基于二维双边高斯滤波实现图像去噪附matlab代码
1 简介 图像是生活中重要的信息来源,处理图像有助于理解信息的基本信息.但图像本身可能存在一些被干扰的信息或者噪声.研究了基于高斯滤波和双边滤波算法的数字图像处理技术用于对图像的噪声进行消除.通过对图 ...
- OpenCV图像处理:基于RANSAC的二维图像中直线、圆及椭圆的检测 C++
基于ransac的直线.圆及椭圆检测算法C++代码 LINK: https://github.com/Yiphy/Ransac-2d-Shape-Detection # Ransac-2d-Shape ...
- 【多传感融合】优达学城多传感融合学习笔记(二)——将激光雷达点云俯视图映射到二维图像
将激光雷达点云俯视图映射到二维图像 目录 将激光雷达点云俯视图映射到二维图像 简介 实现方法 参考代码 简介 本节讲解如何将激光雷达点云俯视图(仅考虑水平坐标)映射到二维图像中,其中涉及到激光雷达点云 ...
- Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
*8.27(列排序)用下面的方法实现一个二维数组中的列排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...
- Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
*8.26(行排序)用下面的方法实现一个二维数组中的行排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...
- c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵
//二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...
- 二维数组中的查找(杨氏矩阵(C语言+Java))
二维数组中的查找这道题,出自 <剑指Offer>.也是著名的杨氏矩阵 在一个 n *m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的.输入一个数,判断矩阵中 ...
最新文章
- 百度飞浆行人多目标跟踪笔记
- 解决weblogic Managed Server启动非常慢的情况
- Linux下触摸屏驱动程序分析
- mysql排列组合实现_Java实现数列的排列组合
- Xamarin.Forms 5.0 来了
- 让IE浏览器提示下载或直接打开word文档
- think php 3.3.3看云,入口文件 · ThinkPHP3.2.3完全开发手册 · 看云
- Node.js笔记(0003)---Express框架Router模块学习笔记
- 聚类分析-K-means clustering 在生物信息学中的应用
- autorunner 测试java_AutoRunner|AutoRunner 自动化测试工具 4.2.5 正式版下载_太平洋下载中心...
- 我是怎么从一家小公司通过社招去了阿里?
- tensorflow的数据类型
- NT3H2111_2211芯片简介
- 消毒机器人市场前景分析
- 废旧的电脑硬盘还可以这样利用起来,太赞了!!
- 【鸿蒙】《校园通》--校园生活模块
- 计算机组成原理的重难点,《计算机组成原理》重点难点习题
- 洛谷 P3518 [POI2011] SEJ-Strongbox 题解
- esc中文是什么意思_Esc 是什么意思? 有什么含义吗?
- ORA-28000: the account is locked/帐户已被锁定解决办法