MATLABの3D配列に1次元スライスを割り当てるにはどうすればよいですか?Matlab 3D配列の1Dスライスの割り当て
私は、設定したい3次元画像マトリックス(RGBフォーマット)のピクセルに対応する論理的な2次元配列 'CD'を持っています。
CD = any(d, 3);
CDM(CD) = 255;
そこで、この場合には、 'CDM' は(例えば、それは771x457x3マトリックス'S)画素毎にR、G、B値を含む3Dマトリックスです。
上記のコードは機能します。私はそれらを必要とする赤いピクセルのイメージを生成します。
ここで、緑やシアンのピクセルを生成したいとします。 「CDM」の2番目と3番目の「レイヤー」(緑と青の値)にアクセスするにはどうすればよいですか?私は
CDM(CD) = [0 255 255];
を割り当てる試みたが、これはそのような2次元アレイと、各チャネルを変更するためにエラー
In an assignment A(:) = B, the number of elements in A and B must be the same.
働いていたすべての3つのソリューション!本当に素晴らしい答え、ありがとう。 –
R2016では何が違うのですか?「bsxfun'を削除できますか?」 – Floris
2016は、配列操作(?)のためのシングルトン次元の自動展開を行います。これは 'bsxfun'の機能です。 – stephematician