-1

私はこのコードを作成しましたが、誰もがこれが正しいことを教えてくれます。どうすればそれを確認できますか。

I=imread('cameraman.tif');
[M N]=size(I);
for i=2:M-1
    for j=2:N-1
        x=I(i-1,j);
        y=I(i+1,j);
        z=I(i,j-1);
        zz=I(i,j+1);
        A=[x y z zz];
        J(i,j)=median(A);
    end
end
4

1 に答える 1

1

一般に、期待どおりに機能するかどうかを確認する唯一の方法は、機能するかどうかを試すことです。@Marounはすでにこれを説明しています。

ここに私が気づいたことのいくつかがあります:

  • コードには技術的な問題はないと思います。

  • 私はこのトピックの専門家ではありませんが、中央値を決定するときに中間点を考慮したくない場合は驚くでしょうI(i,j). これで、上下左右を確認するだけです。これに加えて、upleft upright downleft と downright を評価したい場合があります。ただし、これは選択です。

  • もう 1 つ注目すべき点は、現在、結果が元の画像よりも小さくなることです。J=Iおそらく、またはから始めたいと思うでしょう。J = NaN(size(I));

于 2013-03-07T14:42:52.200 に答える