Signal Processing Toolbox | ![]() ![]() |
表示
y=
medfilt1(x,n) y=
medfilt1(x,n,blksz)
詳細
y
は、 =
medfilt1(x,n)
n
次の1次元メディアンフィルタをベクトルx
に適用します。y
は、x
と同じ長さです。この関数は、最後の点を越えるとゼロとして信号を処理します。
n
が奇数の場合、y(k)
はx(k-(n-1)/2:k+(n-1)/2)
の中央値となります。
n
が偶数の場合、y(k)
はx(k-n/2)
,x(k-(n/2)+1)
, ... , x(k+(n/2)-1)
の中央値となります。この場合、 medfilt1
は、数値を並べ替えてから、(n-1)/2
要素と((n-1)/2)+1
要素の平均を出力します。
y
は、 =
medfilt1(x,n,blksz)
for
ループを使って、同時にblksz
(ブロックサイズ)個の出力サンプルを計算します。medfilt1
は、n
行blksz
列の作業用行列を使用するため、使用している計算機のメモリが少ない場合には、 blksz << length(x)
を使用してください。デフォルトでは、blksz = length(x)
です。これは、メモリが十分にある場合に実行時間が最も速くなる設定です。
x
が行列の場合、medfilt1
は、つぎのステートメントを使って、x
の列単位にメディアンフィルタ処理します。
y(:,i) =
medfilt1(x(:,i),n,blksz)
参考
|
巡回型(IIR)または非巡回型(FIR)フィルタによるデータのフィルタリング |
medfilt2 |
2次元メディアンフィルタリング(Image Processing Toolbox User's Manualを参照) |
|
中央値(MATLAB Function Referenceを参照) |
参考文献
[1] Pratt, W.K., Digital Image Processing, John Wiley & Sons, 1978, pp. 330-333.
![]() | maxflat | modulate | ![]() |