繁体   English   中英

Matlab中灰度图像的粗麻布矩阵的行列式太小

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM