こんにちは画像を読み込んだので、3Dマトリックスが作成されています。3Dマトリックスで配列をインデックスとして使用する方法は?
speeds = [20 77 55 90 87 65 67 72 55]
invalid = speed > 70
speeds(invalid) = 0
これはspeeds
にして、すべての無効な速度を設定します:私はベクトルのために、私はロジックテストに基づいて別のベクトルを作成することができますし、このような指標として、この他のベクターを使用することを知っている
img1 = imread('bluebird.jpg')
しかし、私は3D行列(イメージ)でそれを行う方法を理解していません。
私がしたいのは、青の成分が3つの成分の平均(グレースケール)の平均よりも少なくとも20%高いすべての画素について、カラー成分1(赤色)と3(青色)を入れ替えることです。
img1 = imread('bluebird.jpg');
img2 = img1;
m = mean(img1, 3);
blues = img1(:,:,3) > 1.2*m;
img2(blues, [3,2,1]) = img1(blues, [1,2,3]);
をしかし、それは動作しませんでした:
私はこれを試してみました。変数ブルースは、私が望むピクセル(青色の支配的な要素を持つもの)を正常に取得しますが、最後の行に不正な構文があります。
私がしたいことは可能ですか?もしそうなら、どうですか?
ありがとうございます。
最初のステートメントは実際には真ではありません。論理*行列と整数ベースのインデックスを組み合わせることはできません。 – Suever
@Sueverの説明に感謝します。そして、「整数ベース」も正しい用語です... – zeeMonkeez