我试图找到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)
答案 0 :(得分:0)
如果您想将其称为Hessian,我认为您不应该组装100x100
矩阵。为每个2x2
(2500)像素组装一个50x50
矩阵,用于对衍生物进行抽样。
这是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)