在提取线条之前,需要检测线条上的潜在点。首先应用高斯滤波器,并使用Sobel滤波器作为导数运算符。对Hessian的行列式设置阈值,然后在3×3的邻域中应用非最大值抑制。忽略任何滤波器甚至部分超出图像边界的像素。
我理解高斯图像首先是为了消除噪声,然后分别用Sobel_x和Sobel_y拍摄两次,它们在黑森语中变成了Ixx和Iyy,在image.But中显示水平线和垂直线,我怎么才能得到Ixxyy呢?但是,我如何将这两个图像组合在一起,使Ixxyy成为Hessian矩阵中的右下角?
发布于 2019-05-08 20:35:41
海森矩阵的两个非对角线元素是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过滤器时要注意保留这些负值-不要将它们存储在无符号整数数组中!
https://stackoverflow.com/questions/56047893
复制相似问题