[英]Determinant of hessian matrix of a grayscale image is too small in matlab
我试图找到50x50
灰度图像的粗麻布矩阵的行列式。 我得到的矩阵的行列式是一个很小的值,即4.7612e-134
。 我想我缺少了一些东西。 我的代码如下。 谢谢
% computing second derivatives in each direction first
[gx, gy] = gradient(double(sliceOfImageK2));
[gxx, gxy] = gradient(gx);
[gyx, gyy] = gradient(gy);
hessianMatrix = [gxx gxy; gxy gyy];
determinantHessianMatrix = det(hessianMatrix)
我不希望将其称为Hessian来组装100x100
矩阵。 而是对要对导数进行采样的每个50x50
(2500)像素,组装一个2x2
矩阵。
这些是2500粗麻布,以2500x4
矩阵表示:
H = [gxx(:) gxy(:) gyx(:) gyy(:)]
此处表示为2500个2x2
矩阵:
H_ = reshape(H', 2, 2, length(H))
这些是每个2x2
矩阵的决定因素:
D = H(:,1).*H(:,4) - H(:,2).*H(:,3)
这里是一个50x50
矩阵,每个像素都有Hessian的行列式,如果您要这样做的话:
reshape(D, 50, 50)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.