matlab的四维图像数据可视化
1.顏色來表示第四維
前面已經學了三維圖形可視化,所謂三維就是指x軸,y軸,z軸組成了我們的三維,那么第四維用什么來表示呢,我們這里要用顏色來表示第四維,所謂四維圖形可視化就是在三維圖形可視化的基礎上,加上一個顏色維度,在三維圖形可視化中我們也已經用到過顏色維度,mesh和surf等指令在繪制圖像時,如果我們沒有給出顏色參量的情況下,圖形的顏色是沿著z軸的數據變化的。例如surf(X,Y,Z)和surf(X,Y,Z,Z)兩個指令是相同的,在這里的顏色維度是和z軸的數據決定的,因為z軸已經純在,顏色并不能給我們提供新的信息,所有這種所謂的顏色維度并不能算是第四維。我們可以使用不受3個軸影響的顏色來描述數據的某些屬性,這才算是真正的第四維。我們只需要在三維作圖的基礎上給它加上不受3個軸影響的顏色參量作為第四維,這就是四維圖形可視化。
顏色參量可以是任何實向量或與其他參量維數相同的矩陣。
示例
?[X,Y,Z]=peaks(30);? ? ? ? ? ? ? ? ? ? ? ? ? %峰函數,peaks(30)是產生30×30的guassian分布矩陣
R=sqrt(X.^2+Y.^2);????????????????????? %生成顏色參量
subplot(1,2,1);???????????? ? ? ? ? ? ?? ?
surf(X,Y,Z,Z);????????????????????????????????????? % surf(X,Y,Z)=surf(Z,Y,Z,Z);
axis tight???? ? ? ? ? ? ? ? ? ? ? ??????? ? ?? %調整坐標和你輸入的數據范圍一致
?subplot(1,2,2);surf(X,Y,Z,R);???? %在三維繪圖指令中加入新的顏色參量就編程了思維繪圖函數了
axis tight???????? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? %調整坐標和你輸入的數據范圍一致
在左圖中,第四維數據是Z,因為我們已經有Z了,這并不能算是真正的第四維。右圖中,第四維數據是R,可以看到兩幅圖的顏色發生了明顯變化。
2.其他函數
?除了surf函數外,mesh和pclolr函數也可以將第四維的數據附加到顏色屬性上,并在圖形中表示出來。
其他指令的句法和功能
句法格式??????????????????? ? ? ? ? ? ? ? ? ? ? ? 說明
surf(X,Y,Z,fun(X,Y,Z))?????? 根據函數fun(X,Y,Z)來附加顏色數據
surf(X,Y,Z)=surf(X,Y,Z,Z)? 默認動作,附加顏色數據與z軸
surf(X,Y,Z,X)???????????????????????????? 附加顏色數據與x軸
surf(X,Y,Z,Y)???????????????????????????? 附加顏色數據與y軸
surf(X,Y,Z,X.^2+Y.^2)?????????????? xoy平面上距遠點一定的距離附加顏色數據
surf(X,Y,Z,del2(Z))????????? 根據曲面的拉氏函數值附加顏色數據
[dZdx,dZdy]=gradient(Z);surf(X,Y,Z,abs(dZdz))?? 根據x軸方向的曲面斜率附加顏色數據
dz=sqrt(dZdx.^2+dZdy.^2);surf(X,Y,Z,dz)??? 根據曲面斜率大小附加顏色數據
總結
以上是生活随笔為你收集整理的matlab的四维图像数据可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重装谷歌浏览器chrome:未知错误导致
- 下一篇: 数字图像处理学习笔记(一):特征检测和匹