【发布时间】:2016-03-21 23:02:44
【问题描述】:
真的,我在用 matlab 计算 3d 图像的一、二、三阶导数时遇到问题。
我有 60 片膝盖 mri 的 dicom 格式,我想计算导数。
对于二维图像,当我们要计算 x 或 y 方向的导数时,例如我们使用 x 方向的 sobel 或其他算子来计算 x 方向的导数。
但是在我有 60 片 dicom 格式的 3d 图像中,我如何计算 x、y、z 方向上的一阶、二阶和三阶导数。 我这样实现一阶导数:
F 是具有所有切片的 3d 矩阵。 [k,l,m] = 尺寸(F);
但我认为这不是真的。请帮助我,我真的需要你的答案。
我们如何计算 x ,y ,z 方向的一、二、三阶导数?
案例'x'
D(1,:,:) = (F(2,:,:) - F(1,:,:));
D(k,:,:) = (F(k,:,:) - F(k-1,:,:));
D(2:k-1,:,:) = (F(3:k,:,:)-F(1:k-2,:,:))/2;
案例'y'
D(:,1,:) = (F(:,2,:) - F(:,1,:));
D(:,l,:) = (F(:,l,:) - F(:,l-1,:));
D(:,2:l-1,:) = (F(:,3:l,:)-F(:,1:l-2,:))/2;
案例'z'
D(:,:,1) = (F(:,:,2) - F(:,:,1));
D(:,:,m) = (F(:,:,m) - F(:,:,m-1));
D(:,:,2:m-1) = (F(:,:,3:m)-F(:,:,1:m-2))/2;
【问题讨论】:
-
你的代码适合一阶导数。只是重复?二阶导数->导数的导数
标签: image matlab 3d derivative