カラーマップとして使用したい 3D 画像があります。リアルタイム データ ストリーミングがあり、現在の位置に応じて、3D 画像に基づいてグラフに特定の色を表示したいと考えています。
私は以前、次のコードを使用してサイズの画像1080x1920
(2D 画像) を使用してこれを成功させ、画像に変換しました。
Color=double(imresize(RGBparam.image,[81 144]))/255;
size(myData(:,:1))
次に、出力81x144 ... YdataとZdataも同じ次元を持つデータを設定してプロットします(以前に図を作成しました...そのコードは重要ではありません) 。
set(Fig.figim, 'CData', Color);
set(Fig.figim, 'XData', myData(:,:,1) + positionX)
set(Fig.figim, 'YData', myData(:,:,2) + positionY);
set(Fig.figim, 'ZData', myData(:,:,3) + positionZ);
それでうまくいきました!これで、新しい 3D 画像ができました。画像には寸法があり512x512x351
ます。同じコードを実行しようとしましたが、うまくいきません。私はこれを試しました:
Color=double(imresize(DICOMparam.Vd,[81 144]))/255;
次に、このようにプロットしようとします
set(Fig.figim, 'CData', Color);
set(Fig.figim, 'XData', myData(:,:,1) + positionX)
set(Fig.figim, 'YData', myData(:,:,2) + positionY);
set(Fig.figim, 'ZData', myData(:,:,3) + positionZ);
しかし、「色は M 行 N 列の行列または M 行 N 行 3 列の配列でなければなりません」というエラーが表示されます。
今、私は物事を変更しようとしたので、M x N x 3 の配列であることが判明しましたが、まず第一に、これは望ましくありません... z- のサンプルを 3 つ以上保持したい私のカラーマップの次元....そして第二に...それはとにかく私にたくさんのエラーを吐き出します. 結論として、x、y、および z コンポーネントを持つデータをプロットするときに、この 3D カラーマップが機能するようにしたいだけです。助けてくれてありがとう、不明な点があれば教えてください!