Matlab 在所有3维中对三维体积进行上采样和下采样
matlab中是否有计算三维图像展开和缩小的功能?例如,将3D体积从170*240*240减少到85*120*120,或从85*120*120扩展到170*240*240 matlab中的“impyramid”也有类似的功能,但仅在前二维中减少和扩展Matlab 在所有3维中对三维体积进行上采样和下采样,matlab,image-processing,3d,filtering,gaussian,Matlab,Image Processing,3d,Filtering,Gaussian,matlab中是否有计算三维图像展开和缩小的功能?例如,将3D体积从170*240*240减少到85*120*120,或从85*120*120扩展到170*240*240 matlab中的“impyramid”也有类似的功能,但仅在前二维中减少和扩展 我在mathworks文件交换上也看到了此功能,但对于3D volume来说,它的速度相对较慢。执行此功能的内存昂贵且速度缓慢,而且可能是真正执行此功能的唯一方法: % Desired size sz=[120 , 56, 123]; %whate
我在mathworks文件交换上也看到了此功能,但对于3D volume来说,它的速度相对较慢。执行此功能的内存昂贵且速度缓慢,而且可能是真正执行此功能的唯一方法:
% Desired size
sz=[120 , 56, 123]; %whatever
[y, x, z]=...
ndgrid(linspace(1,size(img,1),sz(1)),...
linspace(1,size(img,2),sz(2)),...
linspace(1,size(img,3),sz(3)));
imOut=interp3(img,x,y,z);
clear x y z
通过提供interp3
的方法,您可以节省一些时间(或花费更多!)
最近的
会更便宜,但精确度较低。其余部分的计算成本更高。内存成本高且速度慢,这可能是真正实现这一目标的唯一方法:
% Desired size
sz=[120 , 56, 123]; %whatever
[y, x, z]=...
ndgrid(linspace(1,size(img,1),sz(1)),...
linspace(1,size(img,2),sz(2)),...
linspace(1,size(img,3),sz(3)));
imOut=interp3(img,x,y,z);
clear x y z
通过提供interp3
的方法,您可以节省一些时间(或花费更多!)
最近的
会更便宜,但精确度较低。其余部分的计算成本更高。您想要金字塔下采样/上采样还是插值?看起来您想要内插?棱锥体下采样和上采样您想要棱锥体下采样/上采样还是要内插?看起来你想要插值?金字塔下采样和上采样。我会查一下的,谢谢。我会查一查。