私の問題は、3点の静的な点に画像内の点の距離計算を行ったことです。どの距離が最小かを知り、ピクセルの値を2番目の配列に書きたいと思います。私はインデックスを取得するためにmin()
を使用しましたが、私はそれらの画像でどのようにアクセスするのか分かりません。私はこれが唯一のpicture(1:3, 1, 1)
の私に値を与えるだろう知っているので、最初の3つの画素最小インデックスの使用
data = rand(5, 5, 3); # distances of a 5x5 image to 3 different points
[~, mi] = min(data, [], 3); # which of the distances is the minimum
result = picture(mi); # write pixel values to result
、と私はなインデックスを変換するために適している機能が見つかりませんでした:私は、少しのコードを簡素化。どのようにこれを達成し、ループを書くことを避けることができますか?
編集clearificationについては
。 mi
は
data = rand(3, 3, 2)
data =
ans(:, :, 1) =
0.316498 0.054937 0.606390
0.537073 0.231184 0.790371
0.770788 0.334282 0.522369
ans(:,:,2) =
0.843369 0.051667 0.227570
0.452298 0.407662 0.648079
0.450546 0.398068 0.281694
[~, mi] = min(data, [], 3)
mi =
1 2 2
2 1 2
2 1 2
data(mi)
ans =
0.31650 0.53707 0.53707
0.53707 0.31650 0.53707
0.53707 0.31650 0.53707
あなたが見ることができるように、私は基本的にdata(1, 1, 1)
とdata(2, 1, 1)
あるものをindeciesのみdata(1)
とdata(2)
でアクセスしますが、私は次のような結果
0.31650 0.051667 0.227570
0.452298 0.231184 0.648079
0.450546 0.334282 0.281694
インデックスを何に変換しますか?あなたはすでに彼らと一緒に画像をアドレスしています... – excaza
はい、私は期待していません。私は私の質問を広げた。 – RyanMcFlames
mmm ...「最初の」出力を使用していない理由は何ですか?私は何が欠けていますか? – beaker