image-processing - Hessian 矩阵,如何将 Ixx 和 Iyy 结合在一起?
问题描述
“在提取线之前,您需要检测它们上的潜在点。首先应用高斯滤波器并使用 Sobel 滤波器作为导数算子。阈值 Hessian 的行列式,然后在 3 × 3 邻域中应用非极大值抑制。忽略像素任何过滤器甚至部分落在图像边界之外。”
我理解首先对图像进行高斯化以消除噪声,然后分别使用 Sobel_x 和 Sobel_y 进行两次,这在 Hessian 中变为 Ixx 和 Iyy,这将在图像中显示水平线和垂直线。但是我想如何获得 Ixxyy?但是我如何将这两个图像组合在一起以使 Ixxyy 作为 Hessian 矩阵的右下角?
解决方案
Hessian 矩阵的两个非对角元素是d^2/dxdy
. 也就是说,它们是沿 y 的一阶导数,应用于沿 x 的一阶导数。
如果左上角的元素是由 获得的Sobel_x( Sobel_x( image ))
,而右下角的元素是Sobel_y( Sobel_y( image ))
,那么其他两个元素都是Sobel_y( Sobel_x( image ))
或,等价地,Sobel_x( Sobel_y( image ))
(注意这两个应该是相同的)。
请注意负值在这里很重要,因此您应该小心以保留这些负值的方式计算 Sobel 滤波器——不要将它们存储在无符号整数数组中!
推荐阅读
- javascript - 在返回的内部函数中访问参数对象
- r - 我可以用一个表达式引用多个正则表达式项吗?
- api - 使用 fetch api 调用带有 keepalive 的 POST 请求时,预检请求失败
- batch-file - 如何使用命令行更改 SRP 安全级别
- ruby-on-rails - 使用 Solr Sunspot 索引关联模型 - Rails
- typescript - 在单击链接之前和之后使用包含之类的内容验证文本
- php - 我该如何做才能编辑表格?
- javascript - 替代选择文本块(选择标签的alt)
- html - Flex wrap 在换行到多行时会增加额外的空间
- php - 在PHP中的对象数组中按值查找对象