あなたはgriddata
によってサポートされているオプションのいずれかを使用しようとすることができます:
griddata(..., METHOD) where METHOD is one of
'nearest' - Nearest neighbor interpolation
'linear' - Linear interpolation (default)
'natural' - Natural neighbor interpolation
'cubic' - Cubic interpolation (2D only)
'v4' - MATLAB 4 griddata method (2D only)
defines the interpolation method. The 'nearest' and 'linear' methods
have discontinuities in the zero-th and first derivatives respectively,
while the 'cubic' and 'v4' methods produce smooth surfaces. All the
methods except 'v4' are based on a Delaunay triangulation of the data.
例
% create sample data
[X, Y] = meshgrid(1:10, 1:10);
Z_original = X.*Y;
% remove a data point
Z_distorted = Z_original;
Z_distorted(5, 5) = nan;
% reconstruct
valid = ~isnan(Z_distorted);
Z_reconstructed = Z_distorted;
Z_reconstructed(~valid) = griddata(X(valid),Y(valid),Z_distorted(valid),X(~valid),Y(~valid));
% plot the result
figure
surface(Z_original);
figure
surface(Z_distorted);
figure
surface(Z_reconstructed);
[inplant_nans](https://uk.mathworks.com/matlabcentral/fileexchange/4551-inpaint-nans)が役に立つかもしれません。 0の代わりにこれらのピクセルをNaNにすると、この関数を使用できるはずです。 –
コメントありがとうございました。しかし、私はバイキュービックまたは双線形補間を使用するように求める画像処理アプローチを実装しています。あなたが提案したコードはこれらの補間技術を実行していますか? – mad
私は残念なことに、それらの特定のメソッドがあるとは思わない、私はちょうど画像補間のためにそれを多く使用し、それはかなり良いです。その特定の要件がある場合は、別の場所を見たいと思うかもしれません。 –