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