我有一个我想用作色彩图的三维图像。我有实时数据流,并根据我当前的位置(s),我希望我的图形根据我的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-by-N-3阵列,但首先,我不想这个...我想保留我的色彩地图的z维度不止3个样本......其次......它在我身上吐出了一堆错误。 所以总而言之,我只是希望在绘制具有x,y和z分量的数据时,使用此3D颜色映射工作。感谢您的帮助,让我知道如果有什么不清楚!
谢谢终于回应了这个问题,尽管我已经想通了,但现在= p。我做了同样的事情,你基本上描述过,我只是不得不重做我的数据的维度 – spaderdabomb
你...我懒得哈哈大笑 – spaderdabomb