2016-08-10 6 views
0

matlabの3D画像の拡大と縮小を計算する機能はありますか?たとえば、3Dボリュームを170 * 240 * 240から85 * 120 * 120に縮小したり、85 * 120 * 120から170 * 240 * 240に拡大するなどのものがあります。3次元すべての3Dボリュームのアップサンプリングとダウンスクロール

matlabの 'impyramid'は類似していますが、最初の2次元では縮小と拡大のみです。

私はこの機能をmathworksファイル交換でhttps://www.mathworks.com/matlabcentral/fileexchange/12037-gaussian-pyramid-expand-and-reduce-routines-1d--2d-and-3dにも見ましたが、3Dボリュームでは比較的遅いです。

+0

ピラミッドダウンサンプリング/アップサンプリングが必要か、補間しますか?あなたは補間したいかのように見えますか? –

+0

ピラミッドダウンサンプリングとアップサンプリング – Tee

答えて

2

メモリにそれを行うには、高価で遅い方法、および実際にそれを行うための、おそらく唯一の方法:(!以上を費やす)

% 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にする方法を提供することもできます。

nearestは安くなりますが精度は低くなります。残りは計算上より高価です。

+0

ありがとうございました。私はこれをチェックします。 – Tee

関連する問題